OK-487 FE Unit tests shift change
diff --git a/src/app/dialogs/shift-change/shift-change.component.spec.ts b/src/app/dialogs/shift-change/shift-change.component.spec.ts
index 2c0a175..aea62dc 100644
--- a/src/app/dialogs/shift-change/shift-change.component.spec.ts
+++ b/src/app/dialogs/shift-change/shift-change.component.spec.ts
@@ -6,7 +6,7 @@
import { AbstractMockObservableService } from '../../common/abstract-mock-observable.service';
import { click } from '../../testing';
import { MockComponent } from '../../testing/mock.component';
-
+import { MdDialogRef } from '@angular/material';
import { ShiftChangeComponent } from './shift-change.component';
import { TerritoryResponsibility } from '../../model/territory-responsibility';
import { UserService } from '../../services/user.service';
@@ -23,6 +23,11 @@
let page: Page;
describe('ShiftChangeComponent', () => {
+
+ class MockDialogRef extends AbstractMockObservableService {
+ close() { }
+ }
+
class MockUserService extends AbstractMockObservableService {
getUsers() {
return this;
@@ -52,7 +57,9 @@
imports: [FormsModule],
declarations: [ShiftChangeComponent,
MockComponent({ selector: 'multiselect', inputs: ['data', 'settings'] })],
- providers: [{ provide: UserService, useValue: mockUserService },
+ providers: [
+ { provide: MdDialogRef, useClass: MockDialogRef },
+ { provide: UserService, useValue: mockUserService },
{ provide: ResponsibilityService, useValue: mockService },
{ provide: MessageService, useValue: messageService },
{ provide: SessionContext, useValue: sessionContext }],
@@ -219,6 +226,59 @@
}));
+ it('should call getResponsibilities service method and return an error', async(() => {
+ mockService.error = 'GETRESPONSIBILITIES_ERROR';
+ fixture.detectChanges();
+ mockService.getResponsibilities().subscribe((resp) => {
+ fixture.whenStable().then(() => {
+ fixture.detectChanges();
+ expect(component.bannerMessage.text).toEqual('Schichtübergabe getResponsibilities');
+ });
+ });
+
+ component.getResponsibilities();
+ fixture.detectChanges();
+
+ }));
+
+ it('should call planResponsibilities service method and return an error', async(() => {
+ spyOn(component.dialogRef, 'close').and.callThrough();
+ mockService.error = 'PLANRESPONSIBILITIES_ERROR';
+ const responsibilityContainers = RESPONSIBILITIES_SHIFT_CHANGE;
+ const serviceUsers = USERS;
+ mockUserService.content = serviceUsers;
+ const serviceResp = RESPONSIBILITIES;
+ mockService.content = serviceResp;
+ sessionContext.setCurrUser(USERS[1]);
+
+ fixture.detectChanges();
+ mockService.planResponsibilities(responsibilityContainers).subscribe((resp) => {
+ fixture.whenStable().then(() => {
+ fixture.detectChanges();
+ expect(component.bannerMessage.text).toEqual('Schichtübergabe');
+ expect(component.dialogRef.close).toHaveBeenCalled();
+ });
+ });
+
+ component.shiftChange(false);
+ fixture.detectChanges();
+
+ }));
+
+ it('should call getUsers service method and return an error', async(() => {
+ mockUserService.error = 'GETUSERS_ERROR';
+ fixture.detectChanges();
+ mockUserService.getUsers().subscribe((resp) => {
+ fixture.whenStable().then(() => {
+ fixture.detectChanges();
+ expect(component.bannerMessage.text).toEqual('Schichtübergabe getUsers');
+ });
+ });
+
+ component.getUsers();
+ fixture.detectChanges();
+
+ }));
});
class Page {
// gotoSpy: jasmine.Spy;