useMyProfile.spec.ts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { createStore, initLocalVue } from '~/tests/unit/Helpers'
  2. import { accessProfile as accessModule } from '~/tests/unit/fixture/state/profile'
  3. import { AnyStore } from '~/types/interfaces'
  4. import { useMyProfile } from '~/composables/data/useMyProfile'
  5. import { repositoryHelper } from '~/services/store/repository'
  6. import {$accessProfile} from "~/services/profile/accessProfile";
  7. import {_exportedForTesting} from "~/composables/data/useMyProfile"
  8. import DataPersister from "~/services/data/dataPersister";
  9. jest.mock('~/services/data/dataPersister')
  10. let store:AnyStore
  11. let useMyProfileMount:any
  12. let repositoryHelperMock = repositoryHelper as jest.Mocked<typeof repositoryHelper>
  13. const DataPersisterMock = DataPersister as jest.Mocked<typeof DataPersister>
  14. beforeAll(() => {
  15. store = createStore()
  16. store.registerModule('profile', {})
  17. store.registerModule(['profile', 'access'], accessModule)
  18. repositoryHelper.setStore(store)
  19. initLocalVue({store: store})
  20. const $accessProfileMock = $accessProfile as jest.Mocked<typeof $accessProfile>
  21. $accessProfileMock.getCurrentAccessId = jest.fn().mockReturnValue(1)
  22. repositoryHelperMock.findItemFromModel = jest.fn()
  23. useMyProfileMount = useMyProfile(DataPersisterMock.prototype, store)
  24. })
  25. describe('setActivityYear()', () => {
  26. it('should throw an error if year is negative nor eq to 0', () => {
  27. expect(() => useMyProfileMount.setActivityYear(-1)).toThrowError('year must be positive')
  28. })
  29. it('should call updateStoreFromField', () => {
  30. repositoryHelperMock.updateStoreFromField = jest.fn()
  31. useMyProfileMount.setActivityYear(2020)
  32. expect(repositoryHelperMock).toHaveBeenCalled
  33. })
  34. })
  35. describe('setHistorical()', () => {
  36. it('should call updateStoreFromField', () => {
  37. repositoryHelperMock.updateStoreFromField = jest.fn()
  38. useMyProfileMount.setHistorical(['present', 'future'])
  39. expect(repositoryHelperMock).toHaveBeenCalled
  40. })
  41. })
  42. describe('getHistoricalEntry()', () => {
  43. it('should return an json object', () => {
  44. const historical = _exportedForTesting.getHistoricalEntry(['present', 'future'])
  45. expect(historical).toStrictEqual({ past: false, present: true, future: true })
  46. })
  47. })
  48. describe('getHistoricalRangeEntry()', () => {
  49. it('should return an json object', () => {
  50. const historical = _exportedForTesting.getHistoricalRangeEntry(['2020/01/01', '2020/01/31'])
  51. expect(historical).toStrictEqual({ past: false, present: false, future: false, dateStart: '2020/01/01', dateEnd: '2020/01/31' })
  52. })
  53. })
  54. describe('getMyProfileInstance()', () => {
  55. it('should call findItemFromModel', () => {
  56. repositoryHelperMock.findItemFromModel = jest.fn()
  57. _exportedForTesting.getMyProfileInstance(1)
  58. expect(repositoryHelperMock).toHaveBeenCalled
  59. })
  60. })