DEV: Add more system specs for wizard
This commit is contained in:
parent
8d3c3493f5
commit
7c1e86ec25
|
@ -1,6 +1,9 @@
|
||||||
<label
|
<label
|
||||||
class="wizard-container__button wizard-container__button-upload
|
class={{concatClass
|
||||||
{{if this.uploading 'disabled'}}"
|
"wizard-container__button wizard-container__button-upload"
|
||||||
|
(if this.uploading "disabled")
|
||||||
|
(if this.hasUpload "has-upload")
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
{{#if this.uploading}}
|
{{#if this.uploading}}
|
||||||
{{i18n "wizard.uploading"}}
|
{{i18n "wizard.uploading"}}
|
||||||
|
|
|
@ -27,6 +27,14 @@ export default class Image extends Component {
|
||||||
this.setupUploads();
|
this.setupUploads();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@discourseComputed("uploading", "field.value")
|
||||||
|
hasUpload() {
|
||||||
|
return (
|
||||||
|
!this.uploading &&
|
||||||
|
!this.field.value.includes("discourse-logo-sketch-small.png")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
setupUploads() {
|
setupUploads() {
|
||||||
const id = this.field.id;
|
const id = this.field.id;
|
||||||
this._uppyInstance = new Uppy({
|
this._uppyInstance = new Uppy({
|
||||||
|
|
|
@ -46,6 +46,10 @@ module PageObjects
|
||||||
def fill_field(field_type, field_id, value)
|
def fill_field(field_type, field_id, value)
|
||||||
find_field(field_type, field_id).fill_in(with: value)
|
find_field(field_type, field_id).fill_in(with: value)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def has_field_with_value?(field_type, field_id, value)
|
||||||
|
find_field(field_type, field_id).find("input").value == value
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -79,6 +83,13 @@ class PageObjects::Pages::Wizard::ReadyStep < PageObjects::Pages::Wizard::StepBa
|
||||||
end
|
end
|
||||||
|
|
||||||
class PageObjects::Pages::Wizard::BrandingStep < PageObjects::Pages::Wizard::StepBase
|
class PageObjects::Pages::Wizard::BrandingStep < PageObjects::Pages::Wizard::StepBase
|
||||||
|
def click_upload_button(field_id)
|
||||||
|
wizard.find_field("image", field_id).find(".wizard-container__button-upload").click
|
||||||
|
end
|
||||||
|
|
||||||
|
def has_upload?(field_id)
|
||||||
|
wizard.find_field("image", field_id).has_css?(".wizard-container__button-upload.has-upload")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class PageObjects::Pages::Wizard::StylingStep < PageObjects::Pages::Wizard::StepBase
|
class PageObjects::Pages::Wizard::StylingStep < PageObjects::Pages::Wizard::StepBase
|
||||||
|
|
|
@ -56,9 +56,23 @@ describe "Wizard", type: :system do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "Wizard Step: Branding" do
|
describe "Wizard Step: Branding" do
|
||||||
it "lets user configure logos and other branding" do
|
let(:file_path_1) { file_from_fixtures("logo.png", "images").path }
|
||||||
|
let(:file_path_2) { file_from_fixtures("logo.jpg", "images").path }
|
||||||
|
|
||||||
|
it "lets user configure logos" do
|
||||||
wizard_page.go_to_step("branding")
|
wizard_page.go_to_step("branding")
|
||||||
expect(wizard_page).to be_on_step("branding")
|
expect(wizard_page).to be_on_step("branding")
|
||||||
|
attach_file(file_path_1) { wizard_page.branding_step.click_upload_button("logo") }
|
||||||
|
expect(wizard_page.branding_step).to have_upload("logo")
|
||||||
|
attach_file(file_path_2) { wizard_page.branding_step.click_upload_button("logo-small") }
|
||||||
|
expect(wizard_page.branding_step).to have_upload("logo-small")
|
||||||
|
wizard_page.go_to_next_step
|
||||||
|
expect(wizard_page).to be_on_step("corporate")
|
||||||
|
|
||||||
|
expect(SiteSetting.logo).to eq(Upload.find_by(original_filename: File.basename(file_path_1)))
|
||||||
|
expect(SiteSetting.logo_small).to eq(
|
||||||
|
Upload.find_by(original_filename: File.basename(file_path_2)),
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -115,6 +129,26 @@ describe "Wizard", type: :system do
|
||||||
it "lets user configure corporate including governing law and city for disputes" do
|
it "lets user configure corporate including governing law and city for disputes" do
|
||||||
wizard_page.go_to_step("corporate")
|
wizard_page.go_to_step("corporate")
|
||||||
expect(wizard_page).to be_on_step("corporate")
|
expect(wizard_page).to be_on_step("corporate")
|
||||||
|
wizard_page.fill_field("text", "company-name", "ACME")
|
||||||
|
wizard_page.fill_field("text", "governing-law", "California")
|
||||||
|
wizard_page.fill_field("text", "contact-url", "https://ac.me")
|
||||||
|
wizard_page.fill_field("text", "city-for-disputes", "San Francisco")
|
||||||
|
wizard_page.fill_field("text", "contact-email", "coyote@ac.me")
|
||||||
|
wizard_page.click_jump_in
|
||||||
|
expect(page).to have_current_path("/latest")
|
||||||
|
|
||||||
|
expect(SiteSetting.company_name).to eq("ACME")
|
||||||
|
expect(SiteSetting.governing_law).to eq("California")
|
||||||
|
expect(SiteSetting.city_for_disputes).to eq("San Francisco")
|
||||||
|
expect(SiteSetting.contact_url).to eq("https://ac.me")
|
||||||
|
expect(SiteSetting.contact_email).to eq("coyote@ac.me")
|
||||||
|
|
||||||
|
wizard_page.go_to_step("corporate")
|
||||||
|
expect(wizard_page).to have_field_with_value("text", "company-name", "ACME")
|
||||||
|
expect(wizard_page).to have_field_with_value("text", "governing-law", "California")
|
||||||
|
expect(wizard_page).to have_field_with_value("text", "contact-url", "https://ac.me")
|
||||||
|
expect(wizard_page).to have_field_with_value("text", "city-for-disputes", "San Francisco")
|
||||||
|
expect(wizard_page).to have_field_with_value("text", "contact-email", "coyote@ac.me")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue