useValidator.spec.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import VueI18n from 'vue-i18n'
  2. import UseValidator from '~/use/form/useValidator'
  3. import DataProvider from '~/services/data/dataProvider'
  4. jest.mock('~/services/data/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 = UseValidator.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 = UseValidator.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 = UseValidator.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 = UseValidator.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. })