import { mount} from '@vue/test-utils' import { expect, test, describe, vi } from 'vitest' import Services from '@pages/ServicesManagerPage/ServicesManagerPage.vue'; import { createStore } from 'vuex' import axios from "axios"; import {store as services} from "@/store/modules/services" import {store as users} from "@/store/modules/users" import AdapterOfServices from '@adapters/adapterOfServices/Services' import ServiceOfServices from '@services/serviceOfServices/Services.js' import {defaultServices, resServices} from "@mocks/services" vi.mock('axios') describe("tests Services Manager Page component", () => { const store = createStore({ plugins: [], modules: { services, users }, }) axios.get.mockResolvedValue({ data: defaultServices, }) const adapterOfServices = new AdapterOfServices(import.meta.env.VITE_API_ADDR) const serviceOfServices = new ServiceOfServices(adapterOfServices, store) test('Services Manager Page mounted with vuex', async () => { const wrapper = mount(Services, { global: { mocks: { $store: store } } }) await serviceOfServices.fetchServices() const uploadServices = store.getters['services/services'] expect(uploadServices).toEqual(resServices) // full services array of store expect(wrapper.html()).toContain('me-2 mb-6') expect(wrapper.text()).toContain('На главную') }) })