diff --git a/src/features/settings/components/Switch.vue b/src/features/settings/components/Switch.vue index 48d9f0e..b5ca8cf 100644 --- a/src/features/settings/components/Switch.vue +++ b/src/features/settings/components/Switch.vue @@ -16,7 +16,7 @@ limitations under the License. @@ -47,7 +55,7 @@ const toggle = function toggle () {
{ @@ -53,6 +59,42 @@ describe('Switch', () => { expect(switchElementClasses2).not.toContain('enabled'); }); + test('shows default value', () => { + const wrapper = getWrapper({ + defaultValue: true + }); + + const switchElement = wrapper.find('.switch-wrapper'); + expect(switchElement.classes('enabled')).toBeTruthy(); + }); + + test('shows stored value instead of default value', () => { + const wrapper = getWrapper({ + defaultValue: true, + piniaOptions: { + setupStores: () => { + const store = useSettingsStore(); + store.set('switch', false); + } + } + }); + + const switchElement = wrapper.find('.switch-wrapper'); + expect(switchElement.classes('enabled')).toBeFalsy(); + }); + + test('reacts on store change', async () => { + const wrapper = getWrapper(); + const store = useSettingsStore(); + + const switchElement = wrapper.find('.switch-wrapper'); + expect(switchElement.classes('enabled')).toBeFalsy(); + + store.set('switch', true); + await nextTick(); + expect(switchElement.classes('enabled')).toBeTruthy(); + }); + test('toggles value in store', async () => { const wrapper = getWrapper();