1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import { vi } from 'vitest'
- import { createPinia, setActivePinia } from 'pinia'
- // Мокаем Nuxt
- vi.mock('#app', () => ({
- useNuxtApp: () => ({
- $api: {
- user: {
- getInfo: vi.fn().mockResolvedValue({
- user_info: {
- name: 'Test User',
- image: 'test.jpg'
- },
- main_info: {
- Группа: 'Test Group'
- },
- courses: [{
- title: 'Test Course'
- }]
- })
- }
- }
- })
- }))
- // Мокаем #imports
- vi.mock('#imports', () => ({
- useRouter: () => ({
- push: vi.fn(),
- replace: vi.fn(),
- back: vi.fn(),
- currentRoute: {
- value: {
- path: '/'
- }
- }
- }),
- useNuxtApp: () => ({
- $api: {
- user: {
- getInfo: vi.fn().mockResolvedValue({
- user_info: {
- name: 'Test User',
- image: 'test.jpg'
- },
- main_info: {
- Группа: 'Test Group'
- },
- courses: [{
- title: 'Test Course'
- }]
- })
- }
- }
- }),
- ref: (value: unknown) => ({ value })
- }))
- // Мокаем Vue
- vi.mock('vue', async (importOriginal) => {
- const actual = await importOriginal() as unknown
- return {
- ...actual,
- ref: (value: unknown) => ({ value }),
- defineComponent: (options: unknown) => ({
- ...options,
- __vccOpts: options
- }),
- onMounted: vi.fn(),
- onUnmounted: vi.fn(),
- computed: (getter: () => unknown) => ({
- value: getter()
- })
- }
- })
- // Мокаем Pinia
- vi.mock('pinia', async () => {
- const actual = await vi.importActual('pinia')
- return {
- ...actual,
- defineStore: (id: string, setup: unknown) => {
- const store = setup()
- return () => store
- },
- createPinia: () => ({
- install: vi.fn()
- }),
- setActivePinia: vi.fn()
- }
- })
- // Создаем глобальный экземпляр Pinia
- const pinia = createPinia()
- setActivePinia(pinia)
- // Экспортируем для использования в тестах
- export { pinia }
|