@itexpert-dev/base-universal-table
Version:
base universal table for build tables
77 lines (63 loc) • 3.01 kB
text/typescript
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', ()=>{
})
});