added unit test for center
diff --git a/src/app/centers/form/form.component.spec.ts b/src/app/centers/form/form.component.spec.ts
index 645b857..53686a6 100644
--- a/src/app/centers/form/form.component.spec.ts
+++ b/src/app/centers/form/form.component.spec.ts
@@ -18,7 +18,7 @@
*/
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {Component, EventEmitter, ViewChild} from '@angular/core';
-import {Employee} from '../../services/office/domain/employee.model';
+import {Center} from '../../services/center/domain/center.model';
import {CenterFormComponent, EmployeeFormData, EmployeeSaveEvent} from './form.component';
import {User} from '../../services/identity/domain/user.model';
import {TranslateModule} from '@ngx-translate/core';
@@ -30,7 +30,7 @@
import {FimsSharedModule} from '../../common/common.module';
import {MatIconModule, MatInputModule, MatOptionModule, MatSelectModule} from '@angular/material';
-const employeeTemplate: Employee = {
+const centerTemplate: Center = {
identifier: 'test',
givenName: 'test',
middleName: 'test',
@@ -41,6 +41,7 @@
value: 'test@test.de',
preferenceLevel: 0
}],
+
assignedOffice: 'test'
};
@@ -49,7 +50,7 @@
role: 'test'
};
-describe('Test employee form component', () => {
+describe('Test center form component', () => {
let fixture: ComponentFixture<TestComponent>;
@@ -89,16 +90,16 @@
fixture.detectChanges();
testComponent.saveEmitter.subscribe((saveEvent: EmployeeSaveEvent) => {
- expect(employeeTemplate.identifier).toEqual(saveEvent.detailForm.identifier);
- expect(employeeTemplate.givenName).toEqual(saveEvent.detailForm.firstName);
- expect(employeeTemplate.middleName).toEqual(saveEvent.detailForm.middleName);
- expect(employeeTemplate.surname).toEqual(saveEvent.detailForm.lastName);
+ expect(centerTemplate.identifier).toEqual(saveEvent.detailForm.identifier);
+ expect(centerTemplate.givenName).toEqual(saveEvent.detailForm.firstName);
+ expect(centerTemplate.middleName).toEqual(saveEvent.detailForm.middleName);
+ expect(centerTemplate.surname).toEqual(saveEvent.detailForm.lastName);
expect(saveEvent.detailForm.password).toEqual('');
- expect(employeeTemplate.assignedOffice).toEqual(saveEvent.officeForm.assignedOffice);
+ expect(centerTemplate.assignedOffice).toEqual(saveEvent.officeForm.assignedOffice);
- expect(employeeTemplate.contactDetails.length).toEqual(1);
- expect(employeeTemplate.contactDetails[0].value).toEqual(saveEvent.contactForm.email);
+ expect(centerTemplate.contactDetails.length).toEqual(1);
+ expect(centerTemplate.contactDetails[0].value).toEqual(saveEvent.contactForm.email);
expect(userTemplate.role).toEqual(saveEvent.detailForm.role);
});
@@ -110,17 +111,17 @@
@Component({
template: `
- <fims-employee-form-component #form (onSave)="onSave($event)" (onCancel)="onCancel($event)" [formData]="employeeFormData">
- </fims-employee-form-component>`
+ <fims-center-form-component #form (onSave)="onSave($event)" (onCancel)="onCancel($event)" [formData]="employeeFormData">
+ </fims-center-form-component>`
})
class TestComponent {
saveEmitter = new EventEmitter<EmployeeSaveEvent>();
- @ViewChild('form') formComponent: EmployeeFormComponent;
+ @ViewChild('form') formComponent: CenterFormComponent;
employeeFormData: EmployeeFormData = {
- employee: employeeTemplate,
+ employee: centerTemplate,
user: userTemplate
};
diff --git a/src/app/centers/form/form.component.ts b/src/app/centers/form/form.component.ts
index 4c2d42c..eea9635 100644
--- a/src/app/centers/form/form.component.ts
+++ b/src/app/centers/form/form.component.ts
@@ -62,6 +62,13 @@
})
export class CenterFormComponent implements OnInit {
+ staffs = [
+ {value: '', viewValue: ''},
+
+ ];
+
+
+
offices: Observable<Office[]>;
roles: Observable<Role[]>;
@@ -77,7 +84,7 @@
@Input('formData') set formData(formData: EmployeeFormData) {
this.prepareDetailForm(formData.employee, formData.user);
this.prepareOfficeForm(formData.employee);
- this.prepareContactForm(formData.employee.contactDetails);
+ // this.prepareContactForm(formData.employee.contactDetails);
}
@Output('onSave') onSave = new EventEmitter<EmployeeSaveEvent>();
@@ -107,7 +114,7 @@
this.detailForm = this.formBuilder.group({
identifier: [employee.identifier, [Validators.required, Validators.minLength(3), Validators.maxLength(32), FimsValidators.urlSafe]],
firstName: [employee.givenName, [Validators.required, Validators.maxLength(256)]],
- middleName: [employee.middleName, Validators.maxLength(256)],
+ middleName: [employee.middleName, Validators.maxLength(256)],
lastName: [employee.surname, [Validators.required, Validators.maxLength(256)]],
password: ['', passwordValidators],
role: [user ? user.role : '', Validators.required]
@@ -159,6 +166,7 @@
});
}
+
cancel(): void {
this.onCancel.emit();
}
diff --git a/src/app/collection/collection.component.html b/src/app/collection/collection.component.html
index 62e6477..909cf2d 100644
--- a/src/app/collection/collection.component.html
+++ b/src/app/collection/collection.component.html
@@ -1,8 +1,5 @@
-<fims-layout-card-over title="{{'Collection sheet' | translate}}">
- <fims-layout-card-over-header-menu>
- <td-search-box #searchBox placeholder="{{'Search' | translate}}" (search)="search($event)" [alwaysVisible]="false"></td-search-box>
- </fims-layout-card-over-header-menu>
-
+<fims-layout-card-over title="{{'Collection sheet'}}">
+
<mat-form-field>
<mat-select placeholder="Select office">
<mat-option *ngFor="let office of offices" [value]="office.value">
diff --git a/src/app/collection/collection.component.spec.ts b/src/app/collection/collection.component.spec.ts
index ff1d68f..a22dfe2 100644
--- a/src/app/collection/collection.component.spec.ts
+++ b/src/app/collection/collection.component.spec.ts
@@ -1,14 +1,36 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { CollectionComponent } from './collection.component';
+import {FimsSharedModule} from '.././common/common.module';
+import {MatIconModule, MatInputModule, MatOptionModule, MatSelectModule} from '@angular/material';
+import {ReactiveFormsModule} from '@angular/forms';
+import {CovalentStepsModule} from '@covalent/core';
+import {NoopAnimationsModule} from '@angular/platform-browser/animations';
+import {TranslateModule} from '@ngx-translate/core';
-describe('CenterComponent', () => {
+
+
+describe('CollectionComponent', () => {
let component: CollectionComponent;
let fixture: ComponentFixture<CollectionComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ CollectionComponent ]
+ declarations: [ CollectionComponent ],
+
+ imports: [
+ TranslateModule.forRoot(),
+ FimsSharedModule,
+ ReactiveFormsModule,
+ MatSelectModule,
+ MatOptionModule,
+ MatIconModule,
+ MatInputModule,
+ CovalentStepsModule,
+ NoopAnimationsModule,
+
+
+ ],
})
.compileComponents();
}));
diff --git a/src/app/collection/collection.component.ts b/src/app/collection/collection.component.ts
index e338269..13e854d 100644
--- a/src/app/collection/collection.component.ts
+++ b/src/app/collection/collection.component.ts
@@ -1,12 +1,30 @@
import {Component, OnInit} from '@angular/core';
-import {ActivatedRoute, Params, Router} from '@angular/router';
-import {Employee} from '../services/office/domain/employee.model';
-import {FetchRequest} from '../services/domain/paging/fetch-request.model';
-import {TableData} from '../common/data-table/data-table.component';
+
import {Store} from '@ngrx/store';
import * as fromRoot from '../store';
import {Observable} from 'rxjs/Observable';
-import {SEARCH} from '../store/employee/employee.actions';
+
+
+
+export interface Office {
+ value: string;
+ viewValue: string;
+}
+
+export interface Staff {
+ value: string;
+ viewValue: string;
+}
+
+export interface Center {
+ value: string;
+ viewValue: string;
+}
+
+export interface Group {
+ value: string;
+ viewValue: string;
+}
@@ -16,8 +34,31 @@
styleUrls: ['./collection.component.scss']
})
export class CollectionComponent implements OnInit {
+
+ offices: Office[] = [
+ {value: '', viewValue: ''},
+
+ ];
+
+ staffs: Staff[] = [
+ {value: '', viewValue: ''},
+
+ ];
+
+ centers: Center[] = [
+ {value: '', viewValue: ''},
+
+ ];
+
+ groups: Group[] = [
+ {value: '', viewValue: ''},
+
+ ];
+
+
+
- employeeData$: Observable<TableData>;
+
loading$: Observable<boolean>;
@@ -31,42 +72,22 @@
searchTerm: string;
- private lastFetchRequest: FetchRequest = {};
+
- constructor(private router: Router, private route: ActivatedRoute, private store: Store<fromRoot.State>) {}
+ constructor( private store: Store<fromRoot.State>) {}
ngOnInit(): void {
- this.employeeData$ = this.store.select(fromRoot.getEmployeeSearchResults)
- .map(employeePage => ({
- data: employeePage.employees,
- totalElements: employeePage.totalElements,
- totalPages: employeePage.totalPages
- }));
-
+
this.loading$ = this.store.select(fromRoot.getEmployeeSearchLoading);
- this.route.queryParams.subscribe((params: Params) => {
- this.search(params['term']);
- });
+
}
search(searchTerm: string): void {
this.searchTerm = searchTerm;
- this.fetchEmployees();
+
}
- rowSelect(row: Employee): void {
- this.router.navigate(['detail', row.identifier], { relativeTo: this.route });
- }
-
- fetchEmployees(fetchRequest?: FetchRequest) {
- if (fetchRequest) {
- this.lastFetchRequest = fetchRequest;
- }
-
- this.lastFetchRequest.searchTerm = this.searchTerm;
-
- this.store.dispatch({ type: SEARCH, payload: this.lastFetchRequest });
- }
+
}
diff --git a/src/app/collection/collection.module.ts b/src/app/collection/collection.module.ts
index 6dc14a9..96d874f 100644
--- a/src/app/collection/collection.module.ts
+++ b/src/app/collection/collection.module.ts
@@ -15,7 +15,8 @@
MatListModule,
MatOptionModule,
MatSelectModule,
- MatToolbarModule
+ MatToolbarModule,
+ MatFormFieldModule
} from '@angular/material';
import {CovalentSearchModule, CovalentStepsModule} from '@covalent/core';
import {TranslateModule} from '@ngx-translate/core';
@@ -38,6 +39,7 @@
MatSelectModule,
CovalentSearchModule,
CovalentStepsModule,
+ MatFormFieldModule
],
declarations: [
diff --git a/src/app/common/common.module.ts b/src/app/common/common.module.ts
index 88a67d6..12c187d 100644
--- a/src/app/common/common.module.ts
+++ b/src/app/common/common.module.ts
@@ -50,7 +50,8 @@
MatSelectModule,
MatSnackBarModule,
MatToolbarModule,
- MatTooltipModule
+ MatTooltipModule,
+ MatFormFieldModule
} from '@angular/material';
import {EmployeeAutoCompleteComponent} from './employee-autocomplete/employee-auto-complete.component';
import {TextMaskModule} from 'angular2-text-mask';
@@ -85,6 +86,7 @@
MatSnackBarModule,
MatToolbarModule,
MatTooltipModule,
+ MatFormFieldModule,
ReactiveFormsModule,
TextMaskModule,
TranslateModule
diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts
index 69e5038..f405627 100644
--- a/src/app/login/login.component.ts
+++ b/src/app/login/login.component.ts
@@ -37,6 +37,8 @@
private loadingSubscription: Subscription;
+ hide: boolean;
+
currentLanguage: string;
languageOptions: any[] = [
diff --git a/src/app/services/center/center.service.ts b/src/app/services/center/center.service.ts
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/app/services/center/center.service.ts
diff --git a/src/app/services/center/domain/center.model.ts b/src/app/services/center/domain/center.model.ts
new file mode 100644
index 0000000..000702f
--- /dev/null
+++ b/src/app/services/center/domain/center.model.ts
@@ -0,0 +1,10 @@
+import {ContactDetail} from '../../domain/contact/contact-detail.model';
+
+export interface Center {
+ identifier: string;
+ givenName: string;
+ middleName?: string;
+ surname: string;
+ assignedOffice?: string;
+ contactDetails: ContactDetail[];
+}
\ No newline at end of file
diff --git a/src/app/services/office/domain/employee.model.ts b/src/app/services/office/domain/employee.model.ts
index 8350439..a308bf9 100644
--- a/src/app/services/office/domain/employee.model.ts
+++ b/src/app/services/office/domain/employee.model.ts
@@ -27,13 +27,4 @@
contactDetails: ContactDetail[];
}
-export interface Center {
- identifier: string;
- givenName: string;
- middleName?: string;
- surname: string;
- assignedOffice?: string;
- contactDetails: ContactDetail[];
-}
-