| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # Tests unitaires
- Ce répertoire contient les tests unitaires du front Vue.js
- > Plus d'infos:
- > * https://vue-test-utils.vuejs.org/guides/#getting-started
- > * https://vue-test-utils.vuejs.org/guides/#using-with-typescript
- ## Exécuter les tests
- Pour exécuter les tests, se connecter au docker admin, et lancer la commande:
- yarn test
- ## Mocking
- ** Différentes façon pour Mocker
- import axios from 'axios'
- import { NuxtAxiosInstance } from '@nuxtjs/axios'
- jest.mock('axios')
- const mockNuxtAxios = axios as jest.Mocked<NuxtAxiosInstance>
- mockNuxtAxios.$get = jest.fn().mockReturnValue({})
- Ou
- import DataProvider from "~/services/dataProvider/dataProvider";
- jest.mock('~/services/dataProvider/dataProvider');
- const DataProviderMock = DataProvider as jest.MockedClass<typeof DataProvider>;
- DataProviderMock.prototype.invoke.mockImplementation(async () => true)
- Ou
- import VueI18n from "vue-i18n";
- const VueI18nMock = VueI18n as jest.MockedClass<typeof VueI18n>;
- VueI18nMock.prototype.t = jest.fn().mockReturnValue('siret_error')
- Ou
- Si on définit le fichier ~/services/dataProvider/__mocks__/dataProvider.ts avec l'implémenation de invoke :
- const mock = jest.fn().mockImplementation(() => {
- return {invoke: () => {
- return true
- }};
- });
- export default mock;
- alors on appel useHandleSiret comme cela : const siretResponse = UseChecker.useHandleSiret(new DataProviderMock())
- ATTENTION : dans ce cas cette déclaration sera prioritaire sur les autres façon de moker l'implémentation et on ne peut pas avoir 2 type de mokes différents pour
- cette classe dans l'application...
- Pour pouvoir gérer l'implémentation à la volée il ne faut pas qu'il y ait le fichier dans le dosier __mocks__
|