import {createStore} from "~/tests/unit/Helpers"; import {$organizationProfile} from "~/services/profile/organizationProfile"; import {organizationProfile as organizationModule} from "~/tests/unit/fixture/state/profile" import {OrganizationStore} from "~/types/interfaces"; let store:OrganizationStore, organizationProfile:any beforeAll(()=>{ process.env = { school_product: 'school', school_premium_product: 'school-premium', artist_product: 'artist', artist_premium_product: 'artist-premium', manager_product: 'manager', cmf_network: 'CMF', ffec_network: 'FFEC', } }) beforeEach(()=>{ store = createStore() store.registerModule('profile',{}) store.registerModule(['profile','organization'], organizationModule) organizationProfile = $organizationProfile(store) }) describe('hasModule()', () => { it('should return false if organization dont have one of the module', () => { expect(organizationProfile.hasModule(['PedagogicsAdministation'])).toBeFalsy() }) it('should return true if organization have one of the module', () => { store.commit('organization/setModules', ['PedagogicsAdministation', 'Courses']) expect(organizationProfile.hasModule(['PedagogicsAdministation', 'Examens'])).toBeTruthy() }) }) describe('isInsideNetwork()', () => { it('should call isCmf function', ()=>{ organizationProfile.isCmf = jest.fn() organizationProfile.isInsideNetwork() expect(organizationProfile.isCmf).toHaveBeenCalled(); }) it('should call isFfec function if isCmf return false', ()=>{ organizationProfile.isCmf = jest.fn().mockReturnValue(false) organizationProfile.isFfec = jest.fn() organizationProfile.isInsideNetwork() expect(organizationProfile.isFfec).toHaveBeenCalled(); }) it('should return false if isCmf AND isFfec return false', ()=>{ organizationProfile.isCmf = jest.fn().mockReturnValue(false) organizationProfile.isFfec = jest.fn().mockReturnValue(false) expect(organizationProfile.isInsideNetwork()).toBeFalsy() }) it('should return true if isCmf OR Ffec return true', ()=>{ organizationProfile.isCmf = jest.fn().mockReturnValue(true) expect(organizationProfile.isInsideNetwork()).toBeTruthy() organizationProfile.isCmf = jest.fn().mockReturnValue(false) organizationProfile.isFfec = jest.fn().mockReturnValue(true) expect(organizationProfile.isInsideNetwork()).toBeTruthy() }) }) describe('isCmf()', () => { it('should return false if the organization is not CMF', ()=>{ expect(organizationProfile.isCmf()).toBeFalsy() }) it('should return true if the organization is not CMF', ()=>{ store.commit('organization/setNetworks', ['CMF']) expect(organizationProfile.isCmf()).toBeTruthy() }) }) describe('isFfec()', () => { it('should return false if the organization is not FFEC', ()=>{ expect(organizationProfile.isFfec()).toBeFalsy() }) it('should return true if the organization is not FFEC', ()=>{ store.commit('organization/setNetworks', ['FFEC']) expect(organizationProfile.isFfec()).toBeTruthy() }) }) describe('isSchool()', () => { it('should call isSchoolProduct function', ()=>{ organizationProfile.isSchoolProduct = jest.fn() organizationProfile.isSchool() expect(organizationProfile.isSchoolProduct).toHaveBeenCalled(); }) it('should call isSchoolPremiumProduct function if isSchool return false', ()=>{ organizationProfile.isSchoolProduct = jest.fn().mockReturnValue(false) organizationProfile.isSchoolPremiumProduct = jest.fn() organizationProfile.isSchool() expect(organizationProfile.isSchoolPremiumProduct).toHaveBeenCalled(); }) it('should return false if isSchoolProduct AND isSchoolPremiumProduct return false', ()=>{ organizationProfile.isSchoolProduct = jest.fn().mockReturnValue(false) organizationProfile.isSchoolPremiumProduct = jest.fn().mockReturnValue(false) expect(organizationProfile.isSchool()).toBeFalsy() }) it('should return true if isSchoolProduct OR isSchoolPremiumProduct return true', ()=>{ organizationProfile.isSchoolProduct = jest.fn().mockReturnValue(true) expect(organizationProfile.isSchool()).toBeTruthy() organizationProfile.isSchoolProduct = jest.fn().mockReturnValue(false) organizationProfile.isSchoolPremiumProduct = jest.fn().mockReturnValue(true) expect(organizationProfile.isSchool()).toBeTruthy() }) }) describe('isArtist()', () => { it('should call isArtistProduct function', ()=>{ organizationProfile.isArtistProduct = jest.fn() organizationProfile.isArtist() expect(organizationProfile.isArtistProduct).toHaveBeenCalled(); }) it('should call isArtistPremiumProduct function if isArtistProduct return false', ()=>{ organizationProfile.isArtistProduct = jest.fn().mockReturnValue(false) organizationProfile.isArtistPremiumProduct = jest.fn() organizationProfile.isArtist() expect(organizationProfile.isArtistPremiumProduct).toHaveBeenCalled(); }) it('should return false if isArtistProduct AND isArtistPremiumProduct return false', ()=>{ organizationProfile.isArtistProduct = jest.fn().mockReturnValue(false) organizationProfile.isArtistPremiumProduct = jest.fn().mockReturnValue(false) expect(organizationProfile.isArtist()).toBeFalsy() }) it('should return true if isArtistProduct OR isArtistPremiumProduct return true', ()=>{ organizationProfile.isArtistProduct = jest.fn().mockReturnValue(true) expect(organizationProfile.isArtist()).toBeTruthy() organizationProfile.isArtistProduct = jest.fn().mockReturnValue(false) organizationProfile.isArtistPremiumProduct = jest.fn().mockReturnValue(true) expect(organizationProfile.isArtist()).toBeTruthy() }) }) describe('isSchoolProduct()', () => { it('should return false if the organization dont have a shool product', ()=>{ expect(organizationProfile.isSchoolProduct()).toBeFalsy() }) it('should return true if the organization have a shool product', ()=>{ store.commit('organization/setProduct', 'school') expect(organizationProfile.isSchoolProduct()).toBeTruthy() }) }) describe('isSchoolPremiumProduct()', () => { it('should return false if the organization dont have a shool premium product', ()=>{ expect(organizationProfile.isSchoolPremiumProduct()).toBeFalsy() }) it('should return true if the organization have a shool premium product', ()=>{ store.commit('organization/setProduct', 'school-premium') expect(organizationProfile.isSchoolPremiumProduct()).toBeTruthy() }) }) describe('isArtistProduct()', () => { it('should return false if the organization dont have a artist product', ()=>{ expect(organizationProfile.isArtistProduct()).toBeFalsy() }) it('should return true if the organization have a artist product', ()=>{ store.commit('organization/setProduct', 'artist') expect(organizationProfile.isArtistProduct()).toBeTruthy() }) }) describe('isArtistPremiumProduct()', () => { it('should return false if the organization dont have a artist premium product', ()=>{ expect(organizationProfile.isArtistPremiumProduct()).toBeFalsy() }) it('should return true if the organization have a artist premium product', ()=>{ store.commit('organization/setProduct', 'artist-premium') expect(organizationProfile.isArtistPremiumProduct()).toBeTruthy() }) }) describe('isManagerProduct()', () => { it('should return false if the organization dont have a manager product', ()=>{ expect(organizationProfile.isManagerProduct()).toBeFalsy() }) it('should return true if the organization have a manager product', ()=>{ store.commit('organization/setProduct', 'manager') expect(organizationProfile.isManagerProduct()).toBeTruthy() }) }) describe('isOrganizationWithChildren()', () => { it('should return false if the organization dont have children', ()=>{ expect(organizationProfile.isOrganizationWithChildren()).toBeFalsy() }) it('should return true if the organization have children', ()=>{ store.commit('organization/setHasChildren', true) expect(organizationProfile.isOrganizationWithChildren()).toBeTruthy() }) })