import {createStore} from "~/tests/unit/Helpers"; import {accessState, AnyStore} from "~/types/interfaces"; import DataPersister from "~/services/dataPersister/dataPersister"; import {UseMyProfileUpdater} from "~/use/updater/useMyProfileUpdater"; import {repositoryHelper} from "~/services/store/repository"; var store:AnyStore var dataPersister:DataPersister var useMyProfileUpdater:any beforeAll(()=>{ store = createStore(); dataPersister = new DataPersister() repositoryHelper.setStore(store) useMyProfileUpdater = new UseMyProfileUpdater(store, dataPersister) as any }) describe('setActivityYear()', () => { it('should throw an error if year is negative nor eq to 0', () => { expect(() => useMyProfileUpdater.setActivityYear(-1)).toThrow(); }) it('should call updateStoreFromField', () => { repositoryHelper.updateStoreFromField = jest.fn() useMyProfileUpdater.setActivityYear(2020) expect(repositoryHelper).toHaveBeenCalled }) }) describe('setHistorical()', () => { it('should call updateStoreFromField', () => { repositoryHelper.updateStoreFromField = jest.fn() useMyProfileUpdater.setHistorical(['present', 'future']) expect(repositoryHelper).toHaveBeenCalled }) }) describe('getHistoricalEntry()', () => { it('should return an json object', () => { const historical = useMyProfileUpdater.getHistoricalEntry(['present', 'future']) expect(historical).toStrictEqual({past: false, present: true, future: true}) }) }) describe('createNewMyProfileInstance()', () => { it('should create an My Profile instance', () => { const state_my_profile = { id: 1, activityYear: 2020, historical: {past: false, present: true, future: false} } as accessState const myProfile = useMyProfileUpdater.createNewMyProfileInstance(state_my_profile) expect(myProfile.id).toStrictEqual(1) expect(myProfile.activityYear).toStrictEqual(2020) expect(myProfile.historical).toStrictEqual({past: false, present: true, future: false}) }) })