Untitled
unknown
plain_text
22 days ago
1.4 kB
8
Indexable
Never
// myStore.js import { createPinia } from 'pinia'; export const pinia = createPinia(); export const myStore = pinia.store({ id: 'myStore', state: () => ({ value: 0, }), actions: { increment() { this.value++; }, }, }); // myStore.test.js import { mount } from '@vue/test-utils'; import MyComponent from '@/components/MyComponent.vue'; import { pinia, myStore } from '@/myStore'; // Замокируем стор jest.mock('@/myStore', () => ({ ...jest.requireActual('@/myStore'), myStore: pinia.store({ id: 'myStore', state: () => ({ value: 42, }), actions: { increment: jest.fn(), }, }), })); describe('MyComponent', () => { it('renders with mocked store', async () => { // Монтируем компонент, который использует стор const wrapper = mount(MyComponent); // Ждем завершения обновлений await wrapper.vm.$nextTick(); // Проверяем, что компонент рендерится с ожидаемым значением expect(wrapper.text()).toContain('Value: 42'); // Проверяем, что метод increment вызывается при нажатии кнопки await wrapper.find('button').trigger('click'); expect(myStore.increment).toHaveBeenCalled(); }); });
Leave a Comment