useAddressPostalUtils.spec.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import DataProvider from "~/services/data/dataProvider";
  2. import {useAddressPostalUtils} from "~/composables/data/useAddressPostalUtils";
  3. let useAddressPostalUtilsMount:any
  4. const dataproviderMock = DataProvider as jest.Mocked<typeof DataProvider>
  5. const dataproviderMockInstance = new dataproviderMock()
  6. beforeAll(() => {
  7. useAddressPostalUtilsMount = useAddressPostalUtils(dataproviderMockInstance)
  8. })
  9. describe('searchFunction()', () => {
  10. const apiResponse = {
  11. data:{
  12. features: [
  13. {
  14. properties: {
  15. id: 1, postcode: '00001', city: 'foo'
  16. }
  17. },
  18. {
  19. properties: {
  20. id: 2, postcode: '00002', city: 'bar'
  21. }
  22. }
  23. ]
  24. }
  25. }
  26. it('should return [] if no research params', async () => {
  27. const result = await useAddressPostalUtilsMount.searchFunction(null, 'field')
  28. expect(result).toHaveLength(0)
  29. })
  30. it('should return response with default postcode value', async () => {
  31. dataproviderMockInstance.invoke = jest.fn().mockReturnValue(apiResponse)
  32. const result = await useAddressPostalUtilsMount.searchFunction('foo', 'postalCode')
  33. expect(result).toStrictEqual([
  34. {id: 0, postcode: 'foo', city: null},
  35. {id: 1, postcode: '00001', city: 'foo'},
  36. {id: 2, postcode: '00002', city: 'bar'}
  37. ])
  38. })
  39. it('should return response with default city value', async () => {
  40. dataproviderMockInstance.invoke = jest.fn().mockReturnValue(apiResponse)
  41. const resultCity = await useAddressPostalUtilsMount.searchFunction('foo', 'addressPostal.addressCity')
  42. expect(resultCity).toStrictEqual([
  43. {id: 0, postcode: null, city: 'foo'},
  44. {id: 1, postcode: '00001', city: 'foo'},
  45. {id: 2, postcode: '00002', city: 'bar'}
  46. ])
  47. })
  48. })