1
0
hs.hsadmin.ng/src/test/javascript/spec/app/entities/user-role-assignment/user-role-assignment.component.spec.ts
2019-04-30 17:24:24 +02:00

129 lines
4.5 KiB
TypeScript

/* 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<UserRoleAssignmentComponent>;
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']);
});
});
});