test(settings): refactor switch component test

Added and used getWrapper function to switch component test to mount the
component and avoid repeating code.
This commit is contained in:
2026-07-28 20:10:27 +02:00
parent 9a8e764f53
commit edb63b0316
@@ -20,18 +20,22 @@ import { useSettingsStore } from '../../stores/settingsStore.js';
import { expect, describe, test } from 'vitest'; import { expect, describe, test } from 'vitest';
import { nextTick } from 'vue'; import { nextTick } from 'vue';
describe('Switch', () => { const getWrapper = function getWrapper ({ i18n = 'switch1', translations = {} } = {}) {
test('shows value from store', async () => { return mountComponent(Switch, {
const wrapper = mountComponent(Switch, {
attrs: { attrs: {
setting: { setting: {
type: 'bool',
name: 'switch', name: 'switch',
i18n: 'switch1', i18n
type: 'bool'
}, },
path: 'switch' path: 'switch'
} }
}); }, translations);
};
describe('Switch', () => {
test('shows value from store', async () => {
const wrapper = getWrapper();
const store = useSettingsStore(); const store = useSettingsStore();
store.set('switch', true); store.set('switch', true);
@@ -50,16 +54,7 @@ describe('Switch', () => {
}); });
test('toggles value in store', async () => { test('toggles value in store', async () => {
const wrapper = mountComponent(Switch, { const wrapper = getWrapper();
attrs: {
setting: {
name: 'switch',
i18n: 'switch1',
type: 'bool'
},
path: 'switch'
}
});
const switchElement = wrapper.find('.switch-wrapper'); const switchElement = wrapper.find('.switch-wrapper');
@@ -78,18 +73,9 @@ describe('Switch', () => {
test('shows correct translation', () => { test('shows correct translation', () => {
const translation = 'Switch'; const translation = 'Switch';
const wrapper = mountComponent(Switch, { const wrapper = getWrapper({
attrs: { translations: { switch1: translation }
setting: { })
name: 'switch',
i18n: 'switch1',
type: 'bool'
},
path: 'switch'
}
}, {
switch1: translation
});
const label = wrapper.find('label'); const label = wrapper.find('label');
expect(label.text()).toBe(translation); expect(label.text()).toBe(translation);