README 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. ** Différentes façon pour Mocker
  2. import axios from 'axios'
  3. import { NuxtAxiosInstance } from '@nuxtjs/axios'
  4. jest.mock('axios')
  5. const mockNuxtAxios = axios as jest.Mocked<NuxtAxiosInstance>
  6. mockNuxtAxios.$get = jest.fn().mockReturnValue({})
  7. Ou
  8. import DataProvider from "~/services/dataProvider/dataProvider";
  9. jest.mock('~/services/dataProvider/dataProvider');
  10. const DataProviderMock = DataProvider as jest.MockedClass<typeof DataProvider>;
  11. DataProviderMock.prototype.invoke.mockImplementation(async () => true)
  12. Ou
  13. import VueI18n from "vue-i18n";
  14. const VueI18nMock = VueI18n as jest.MockedClass<typeof VueI18n>;
  15. VueI18nMock.prototype.t = jest.fn().mockReturnValue('siret_error')
  16. Ou
  17. Si on définit le fichier ~/services/dataProvider/__mocks__/dataProvider.ts avec l'implémenation de invoke :
  18. const mock = jest.fn().mockImplementation(() => {
  19. return {invoke: () => {
  20. return true
  21. }};
  22. });
  23. export default mock;
  24. alors on appel useHandleSiret comme cela : const siretResponse = UseChecker.useHandleSiret(new DataProviderMock())
  25. 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
  26. cette classe dans l'application...
  27. Pour pouvoir gérer l'implémentation à la volée il ne faut pas qu'il y ait le fichier dans le dosier __mocks__