useValidator.spec.ts 2.2 KB

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