47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
import { TestBed } from '@angular/core/testing';
|
||
import { SectorFacade } from '@app/ui/sectors/sector.facade';
|
||
import { SECTOR_REPOSITORY_TOKEN } from '@app/infrastructure/sectors/sector-repository.token';
|
||
import { FakeSectorRepository } from '@app/testing/domain/sectors/fake-sector.repository';
|
||
import { fakeSectors } from '@app/testing/sector.mock';
|
||
|
||
describe('SectorFacade', () => {
|
||
let sectorFacade: SectorFacade;
|
||
|
||
beforeEach(() => {
|
||
TestBed.configureTestingModule({
|
||
providers: [
|
||
SectorFacade,
|
||
{ provide: SECTOR_REPOSITORY_TOKEN, useClass: FakeSectorRepository },
|
||
],
|
||
});
|
||
|
||
sectorFacade = TestBed.inject(SectorFacade);
|
||
});
|
||
|
||
// ------------------------------------------
|
||
// 🔹 TEST : Chargement des secteurs (load)
|
||
// ------------------------------------------
|
||
it("devrait charger les secteurs d'activité ", () => {
|
||
sectorFacade.load();
|
||
|
||
setTimeout(() => {
|
||
expect(sectorFacade.sectors().length).toBe(fakeSectors.length);
|
||
expect(sectorFacade.loading().isLoading).toBe(false);
|
||
expect(sectorFacade.error().hasError).toBe(false);
|
||
}, 0);
|
||
});
|
||
|
||
// ------------------------------------------
|
||
// 🔹 TEST : Chargement d’un secteur unique
|
||
// ------------------------------------------
|
||
it('devrait charger un secteur par son ID', () => {
|
||
const sectorId = '1';
|
||
sectorFacade.loadOne(sectorId);
|
||
|
||
setTimeout(() => {
|
||
expect(sectorFacade.sector()).toBe(fakeSectors.find((s) => s.id === sectorId));
|
||
expect(sectorFacade.error().hasError).toBe(false);
|
||
}, 0);
|
||
});
|
||
});
|