UNPKG

@itexpert-dev/base-universal-table

Version:

base universal table for build tables

77 lines (63 loc) 3.01 kB
import {ComponentFixture, TestBed} from '@angular/core/testing' import {By} from '@angular/platform-browser' import {UniversalTablePaginationComponent} from './universalTablePagination.component' import {BrowserDynamicTestingModule, platformBrowserDynamicTesting} from "@angular/platform-browser-dynamic/testing"; import {UniversalTableCtrl} from "../../services/universalTable/universalTableCtrl"; import {Observable} from "rxjs"; import {UniversalTableConfigurator} from '../../services/universalTable/universalTableConfigurator/universalTableConfigurator' TestBed.initTestEnvironment( BrowserDynamicTestingModule, platformBrowserDynamicTesting()); describe('test case for base universal table paginator with simple template', ()=>{ let component: UniversalTablePaginationComponent; let fixture: ComponentFixture<UniversalTablePaginationComponent>; let configurator: UniversalTableConfigurator; let testComponentCtrl: UniversalTableCtrl; let limit: HTMLElement; let offset: HTMLElement; let count: HTMLElement; const expectedTotalResult = 10; const expectedLimit = 5; const expectedOffset = 0; beforeEach(()=>{ configurator = new UniversalTableConfigurator(); testComponentCtrl = new UniversalTableCtrl({ initState: {}, getDataMethod: (query)=>{ let testResponse: IUniversalTableGetDataResponse = { data:[], metadata: {}, totalResult: expectedTotalResult }; return Observable.of(testResponse) } }, configurator); TestBed.configureTestingModule({ declarations: [UniversalTablePaginationComponent], providers: [ { provide: UniversalTableCtrl, useValue: testComponentCtrl } ] }); fixture = TestBed.createComponent(UniversalTablePaginationComponent); component = fixture.componentInstance; let debugElement = fixture.debugElement; count = debugElement.query(By.css('#total-result')).nativeElement; limit = debugElement.query(By.css('#limit')).nativeElement; offset = debugElement.query(By.css('#offset')).nativeElement; }); describe('check correct bind limit and offset agter', ()=>{ beforeEach(()=>{ testComponentCtrl.updateState({limit: expectedLimit, offset: expectedOffset}).subscribe(); fixture.detectChanges(); }); it('check limit', ()=>{ expect(parseInt(limit.innerHTML)).toEqual(expectedLimit); }); it('check offset', ()=>{ expect(parseInt(offset.innerHTML)).toEqual(expectedOffset); }); it('check total result', ()=>{ expect(parseInt(count.innerHTML)).toEqual(expectedTotalResult); }); }); it('test that component bind data correct', ()=>{ }) });