it('should calculate the sort attribute for an id', () => { // WHEN const result = comp.sort(); // THEN expect(result).toEqual(['id,desc']); });
it('should not load a page is the page is the same as the previous page', () => { spyOn(service, 'query').and.callThrough(); // WHEN comp.loadPage(0); // THEN expect(service.query).toHaveBeenCalledTimes(0); });
it('should calculate the sort attribute for a non-id attribute', () => { // GIVEN comp.predicate = 'name'; // WHEN const result = comp.sort(); // THEN expect(result).toEqual(['name,desc', 'id']); });
it('should re-initialize the page', () => { // GIVEN const headers = new HttpHeaders().append('link', 'link;link'); spyOn(service, 'query').and.returnValue( Observable.of( new HttpResponse({ body: [new Todo(123)], headers }) ) ); // WHEN comp.loadPage(1); comp.clear(); // THEN expect(comp.page).toEqual(0); expect(service.query).toHaveBeenCalledTimes(2); expect(comp.todos[0]).toEqual(jasmine.objectContaining({ id: 123 })); });
it('Should call load all on init', () => { // GIVEN const headers = new HttpHeaders().append('link', 'link;link'); spyOn(service, 'query').and.returnValue( Observable.of( new HttpResponse({ body: [new Todo(123)], headers }) ) ); // WHEN comp.ngOnInit(); // THEN expect(service.query).toHaveBeenCalled(); expect(comp.todos[0]).toEqual(jasmine.objectContaining({ id: 123 })); });
describe('Todo Management Component', () => { let comp: TodoComponent; let fixture: ComponentFixture<TodoComponent>; let service: TodoService; beforeEach(() => { TestBed.configureTestingModule({ imports: [Jhipster5Java10TestModule], declarations: [TodoComponent], providers: [ TodoService, { provide: ActivatedRoute, useValue: { data: { subscribe: (fn: (value: Data) => void) => fn({ pagingParams: { predicate: 'id', reverse: false, page: 0 } }) } } } ] }) .overrideTemplate(TodoComponent, '') .compileComponents(); fixture = TestBed.createComponent(TodoComponent); comp = fixture.componentInstance; service = fixture.debugElement.injector.get(TodoService); }); it('Should call load all on init', () => { // GIVEN const headers = new HttpHeaders().append('link', 'link;link'); spyOn(service, 'query').and.returnValue( Observable.of( new HttpResponse({ body: [new Todo(123)], headers }) ) ); // WHEN comp.ngOnInit(); // THEN expect(service.query).toHaveBeenCalled(); expect(comp.todos[0]).toEqual(jasmine.objectContaining({ id: 123 })); }); it('should load a page', () => { // GIVEN const headers = new HttpHeaders().append('link', 'link;link'); spyOn(service, 'query').and.returnValue( Observable.of( new HttpResponse({ body: [new Todo(123)], headers }) ) ); // WHEN comp.loadPage(1); // THEN expect(service.query).toHaveBeenCalled(); expect(comp.todos[0]).toEqual(jasmine.objectContaining({ id: 123 })); }); it('should not load a page is the page is the same as the previous page', () => { spyOn(service, 'query').and.callThrough(); // WHEN comp.loadPage(0); // THEN expect(service.query).toHaveBeenCalledTimes(0); }); it('should re-initialize the page', () => { // GIVEN const headers = new HttpHeaders().append('link', 'link;link'); spyOn(service, 'query').and.returnValue( Observable.of( new HttpResponse({ body: [new Todo(123)], headers }) ) ); // WHEN comp.loadPage(1); comp.clear(); // THEN expect(comp.page).toEqual(0); expect(service.query).toHaveBeenCalledTimes(2); expect(comp.todos[0]).toEqual(jasmine.objectContaining({ id: 123 })); }); it('should calculate the sort attribute for an id', () => { // WHEN const result = comp.sort(); // THEN expect(result).toEqual(['id,desc']); }); it('should calculate the sort attribute for a non-id attribute', () => { // GIVEN comp.predicate = 'name'; // WHEN const result = comp.sort(); // THEN expect(result).toEqual(['name,desc', 'id']); }); });