diff --git a/src/components/Pages/ManageWiki/Cards/Skin.vue b/src/components/Pages/ManageWiki/Cards/Skin.vue index 3ae3ad0e..913b71ec 100644 --- a/src/components/Pages/ManageWiki/Cards/Skin.vue +++ b/src/components/Pages/ManageWiki/Cards/Skin.vue @@ -38,21 +38,26 @@ export default { 'wikiId', ], data () { + const skins = [ + { + value: 'vector', + text: 'Vector', + }, + { + value: 'timeless', + text: 'Timeless', + }, + ] + + if (this.$store.state.wikis.currentWikiSettings.wgDefaultSkin === 'modern') { + skins.splice(1, 0, { + value: 'modern', + text: 'Modern', + }) + } + return { - skins: [ - { - value: 'vector', - text: 'Vector', - }, - { - value: 'modern', - text: 'Modern', - }, - { - value: 'timeless', - text: 'Timeless', - }, - ], + skins, skinId: '', message: false, } diff --git a/tests/unit/skin.spec.js b/tests/unit/skin.spec.js new file mode 100644 index 00000000..ac387ccc --- /dev/null +++ b/tests/unit/skin.spec.js @@ -0,0 +1,21 @@ +import Skin from '@/components/Pages/ManageWiki/Cards/Skin.vue' + +const getSkinValues = (defaultSkin) => Skin.data.call({ + $store: { + state: { + wikis: { + currentWikiSettings: { wgDefaultSkin: defaultSkin }, + }, + }, + }, +}).skins.map(skin => skin.value) + +describe('Skin.vue', () => { + it('does not offer Modern for other default skins', () => { + expect(getSkinValues('vector')).toEqual(['vector', 'timeless']) + }) + + it('retains Modern for wikis that already use it as their default', () => { + expect(getSkinValues('modern')).toEqual(['vector', 'modern', 'timeless']) + }) +})