/* tslint:disable max-line-length */ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { Observable, of } from 'rxjs'; import { HttpHeaders, HttpResponse } from '@angular/common/http'; import { ActivatedRoute, Data } from '@angular/router'; import { HsadminNgTestModule } from '../../../test.module'; import { UserRoleAssignmentComponent } from 'app/entities/user-role-assignment/user-role-assignment.component'; import { UserRoleAssignmentService } from 'app/entities/user-role-assignment/user-role-assignment.service'; import { UserRoleAssignment } from 'app/shared/model/user-role-assignment.model'; describe('Component Tests', () => { describe('UserRoleAssignment Management Component', () => { let comp: UserRoleAssignmentComponent; let fixture: ComponentFixture; let service: UserRoleAssignmentService; beforeEach(() => { TestBed.configureTestingModule({ imports: [HsadminNgTestModule], declarations: [UserRoleAssignmentComponent], providers: [ { provide: ActivatedRoute, useValue: { data: { subscribe: (fn: (value: Data) => void) => fn({ pagingParams: { predicate: 'id', reverse: false, page: 0 } }) } } } ] }) .overrideTemplate(UserRoleAssignmentComponent, '') .compileComponents(); fixture = TestBed.createComponent(UserRoleAssignmentComponent); comp = fixture.componentInstance; service = fixture.debugElement.injector.get(UserRoleAssignmentService); }); it('Should call load all on init', () => { // GIVEN const headers = new HttpHeaders().append('link', 'link;link'); spyOn(service, 'query').and.returnValue( of( new HttpResponse({ body: [new UserRoleAssignment(123)], headers }) ) ); // WHEN comp.ngOnInit(); // THEN expect(service.query).toHaveBeenCalled(); expect(comp.userRoleAssignments[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( of( new HttpResponse({ body: [new UserRoleAssignment(123)], headers }) ) ); // WHEN comp.loadPage(1); // THEN expect(service.query).toHaveBeenCalled(); expect(comp.userRoleAssignments[0]).toEqual(jasmine.objectContaining({ id: 123 })); }); it('should re-initialize the page', () => { // GIVEN const headers = new HttpHeaders().append('link', 'link;link'); spyOn(service, 'query').and.returnValue( of( new HttpResponse({ body: [new UserRoleAssignment(123)], headers }) ) ); // WHEN comp.loadPage(1); comp.reset(); // THEN expect(comp.page).toEqual(0); expect(service.query).toHaveBeenCalledTimes(2); expect(comp.userRoleAssignments[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,asc']); }); 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,asc', 'id']); }); }); });