DEV: Add system test for updating color scheme of a theme (#19370)

Follow-up to 63119144ff
This commit is contained in:
Alan Guo Xiang Tan 2022-12-08 08:38:36 +08:00 committed by GitHub
parent 02bfac1538
commit c79eec7fdc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 1 deletions

View File

@ -173,11 +173,12 @@
{{/if}}
{{#unless this.model.component}}
<DSection @class="form-horizontal theme settings control-unit">
<DSection @class="form-horizontal theme settings control-unit theme-settings__color-scheme">
<div class="row setting">
<div class="setting-label">
{{i18n "admin.customize.theme.color_scheme"}}
</div>
<div class="setting-value">
<ColorPalettes @content={{this.colorSchemes}} @value={{this.colorSchemeId}} @icon="paint-brush" @options={{hash
filterable=true
@ -185,6 +186,7 @@
<div class="desc">{{i18n "admin.customize.theme.color_scheme_select"}}</div>
</div>
<div class="setting-controls">
{{#if this.colorSchemeChanged}}
<DButton @action={{action "changeScheme"}} @class="ok submit-edit" @icon="check" />

View File

@ -0,0 +1,32 @@
# frozen_string_literal: true
describe 'Admin Customize Themes', type: :system, js: true do
fab!(:color_scheme) { Fabricate(:color_scheme) }
fab!(:theme) { Fabricate(:theme) }
fab!(:admin) { Fabricate(:admin) }
before do
sign_in(admin)
end
describe 'when visiting the page to customize the theme' do
it 'should allow admin to update the color scheme of the theme' do
visit("/admin/customize/themes/#{theme.id}")
color_scheme_settings = find(".theme-settings__color-scheme")
expect(color_scheme_settings).not_to have_css(".submit-edit")
expect(color_scheme_settings).not_to have_css(".cancel-edit")
color_scheme_settings.find(".color-palettes").click
color_scheme_settings.find(".color-palettes-row[data-value='#{color_scheme.id}']").click
color_scheme_settings.find(".submit-edit").click
expect(color_scheme_settings.find('.setting-value')).to have_content(color_scheme.name)
expect(color_scheme_settings).not_to have_css(".submit-edit")
expect(color_scheme_settings).not_to have_css(".cancel-edit")
expect(theme.reload.color_scheme_id).to eq(color_scheme.id)
end
end
end