README 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Tests unitaires
  2. Ce répertoire contient les tests unitaires du front Vue.js
  3. > Plus d'infos:
  4. > * https://vue-test-utils.vuejs.org/guides/#getting-started
  5. > * https://vue-test-utils.vuejs.org/guides/#using-with-typescript
  6. ## Exécuter les tests
  7. Pour exécuter les tests, se connecter au docker admin, et lancer la commande:
  8. yarn test
  9. ## Mocking
  10. ** Différentes façon pour Mocker
  11. import axios from 'axios'
  12. import { NuxtAxiosInstance } from '@nuxtjs/axios'
  13. jest.mock('axios')
  14. const mockNuxtAxios = axios as jest.Mocked<NuxtAxiosInstance>
  15. mockNuxtAxios.$get = jest.fn().mockReturnValue({})
  16. Ou
  17. import DataProvider from "~/services/dataProvider/dataProvider";
  18. jest.mock('~/services/dataProvider/dataProvider');
  19. const DataProviderMock = DataProvider as jest.MockedClass<typeof DataProvider>;
  20. DataProviderMock.prototype.invoke.mockImplementation(async () => true)
  21. Ou
  22. import VueI18n from "vue-i18n";
  23. const VueI18nMock = VueI18n as jest.MockedClass<typeof VueI18n>;
  24. VueI18nMock.prototype.t = jest.fn().mockReturnValue('siret_error')
  25. Ou
  26. Si on définit le fichier ~/services/dataProvider/__mocks__/dataProvider.ts avec l'implémenation de invoke :
  27. const mock = jest.fn().mockImplementation(() => {
  28. return {invoke: () => {
  29. return true
  30. }};
  31. });
  32. export default mock;
  33. alors on appel useHandleSiret comme cela : const siretResponse = UseChecker.useHandleSiret(new DataProviderMock())
  34. 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
  35. cette classe dans l'application...
  36. Pour pouvoir gérer l'implémentation à la volée il ne faut pas qu'il y ait le fichier dans le dosier __mocks__