add package creation component and fixing designer compilation and linting
[ccsdk/cds.git] / cds-ui / designer-client / src / app / modules / feature-modules / packages / packages.store.spec.ts
1 import { TestBed } from '@angular/core/testing';
2 import { PackagesStore } from './packages.store';
3 import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
4 import { PackagesApiService } from './packages-api.service';
5 import { of } from 'rxjs';
6 import { BluePrintPage } from './model/BluePrint.model';
7 import { getBluePrintPageMock } from './blueprint.page.mock';
8
9 describe('PackagesStore', () => {
10     let store: PackagesStore;
11
12     const MOCK_BLUEPRINTS_PAGE: BluePrintPage = getBluePrintPageMock();
13
14     let httpMock: HttpTestingController;
15
16     beforeEach(() => {
17         TestBed.configureTestingModule({
18             imports: [
19                 HttpClientTestingModule
20             ],
21             providers: [
22                 PackagesStore,
23                 PackagesApiService
24             ]
25         });
26         httpMock = TestBed.get(HttpTestingController);
27
28     });
29
30     it('should correctly get page of packages', () => {
31         const packagesServiceSpy = jasmine.createSpyObj('PackagesListService', ['getPagedPackages']);
32
33         // set the value to return when the `getPagedPackages` spy is called.
34         packagesServiceSpy.getPagedPackages.and.returnValue(of([MOCK_BLUEPRINTS_PAGE]));
35         store = new PackagesStore(packagesServiceSpy);
36
37         store.getPagedPackages(0, 2);
38         store.state$.subscribe(page => {
39             expect(store.state).toEqual(MOCK_BLUEPRINTS_PAGE);
40         });
41
42     });
43 });
44