useChecker.spec.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import UseChecker from "~/use/form/useChecker";
  2. import DataProvider from "~/services/dataProvider/dataProvider";
  3. import VueI18n from "vue-i18n";
  4. jest.mock('~/services/dataProvider/dataProvider');
  5. const DataProviderMock = DataProvider as jest.MockedClass<typeof DataProvider>;
  6. const VueI18nMock = VueI18n as jest.MockedClass<typeof VueI18n>;
  7. describe('useHandleSiret()', () => {
  8. beforeEach(() => {
  9. // Efface toutes les instances et les appels au constructeur et à toutes les méthodes :
  10. DataProviderMock.mockClear();
  11. });
  12. it('should init 3 parameters correctly', async () => {
  13. const siretResponse = UseChecker.useHandleSiret(VueI18nMock.prototype, DataProviderMock.prototype)
  14. expect(siretResponse.siretErrorMessage.value).toEqual("");
  15. expect(siretResponse.siretError.value).toBeFalsy();
  16. expect(siretResponse.checkSiret).toBeDefined();
  17. })
  18. it('should update parameters if Siret is correct', async () => {
  19. const siretResponse = UseChecker.useHandleSiret(VueI18nMock.prototype, DataProviderMock.prototype)
  20. DataProviderMock.prototype.invoke.mockImplementation(async () => {
  21. return {isCorrect: true}
  22. })
  23. await siretResponse.checkSiret('123456')
  24. expect(siretResponse.siretErrorMessage.value).toEqual("");
  25. expect(siretResponse.siretError.value).toBeFalsy();
  26. })
  27. it('should update parameters if Siret is not correct', async () => {
  28. const siretResponse = UseChecker.useHandleSiret(VueI18nMock.prototype, DataProviderMock.prototype)
  29. DataProviderMock.prototype.invoke.mockImplementation(async () => {
  30. return {isCorrect: false}
  31. })
  32. VueI18nMock.prototype.t = jest.fn().mockReturnValue('siret_error')
  33. await siretResponse.checkSiret('123456')
  34. expect(siretResponse.siretErrorMessage.value).toEqual("siret_error");
  35. expect(siretResponse.siretError.value).toBeTruthy();
  36. })
  37. it('should update parameters if there is no response during the check siret', async () => {
  38. const siretResponse = UseChecker.useHandleSiret(VueI18nMock.prototype, DataProviderMock.prototype)
  39. DataProviderMock.prototype.invoke.mockImplementation(jest.fn())
  40. await siretResponse.checkSiret('123456')
  41. expect(siretResponse.siretErrorMessage.value).toEqual("");
  42. expect(siretResponse.siretError.value).toBeFalsy();
  43. })
  44. })