[SI-745 - SI-2525/SI-2533] bugfixes
Signed-off-by: Peter Buschmann <peter.buschmann@pta.de>
diff --git a/i18n/general.de.json b/i18n/general.de.json
index dd0753c..3c87613 100644
--- a/i18n/general.de.json
+++ b/i18n/general.de.json
@@ -56,5 +56,6 @@
"SelectedDistributionGroupAlreadyAssigned": "Die ausgewählte Verteilergruppe ist der Störinfo bereits zugeordnet.",
"SelectedStationAlreadyAssigned": "Die ausgewählte Station ist der Störungsmeldung bereits zugeordnet.",
"PostcodeNotNumber": "Bitte geben Sie eine Postleitzahl bestehend aus genau fünf Ziffern ein.",
- "PostcodeAlreadyAssigned": "Diese Postleitzahl ist bereits zugeordnet"
+ "PostcodeAlreadyAssigned": "Diese Postleitzahl ist bereits zugeordnet.",
+ "NoPostcodeSelected": "Es wurde keine Postleitzahl eingegeben."
}
diff --git a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes.component.spec.ts b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes.component.spec.ts
index 7e73899..a8ac196 100644
--- a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes.component.spec.ts
+++ b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes.component.spec.ts
@@ -14,15 +14,18 @@
import { DistributionGroupMemberPostcodesComponent } from '@grid-failure-information-app/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes.component';
import { DistributionGroupMember } from '@grid-failure-information-app/shared/models';
import { Subscription } from 'rxjs';
+import { UtilService } from '@grid-failure-information-app/shared/utility/utility.service';
describe('DistributionGroupMemberPostcodesComponent', () => {
let component: DistributionGroupMemberPostcodesComponent;
let sandbox: DistributionGroupSandbox;
+ let utilService: UtilService;
interface PostcodeInterface {
postcode: string;
}
beforeEach(() => {
+ utilService = { displayNotification() {} } as any;
sandbox = {
getSelectedDistributionGroupMember() {
return new DistributionGroupMember();
@@ -30,8 +33,9 @@
displayPostcodeNotNumberNotification() {},
updateDistributionGroupMember() {},
deletePostcode() {},
+ addPostcode() {},
} as any;
- component = new DistributionGroupMemberPostcodesComponent(sandbox);
+ component = new DistributionGroupMemberPostcodesComponent(sandbox, utilService);
});
it('should create', () => {
@@ -45,6 +49,20 @@
expect(spy).toHaveBeenCalled();
});
+ it('should not call deletePostcode method for other than delete event', () => {
+ const spy: any = spyOn(sandbox as any, 'deletePostcode');
+ component.ngOnInit();
+ component.gridOptions.context.eventSubject.next({ type: 'test', data: new DistributionGroupMember() });
+ expect(spy).not.toHaveBeenCalled();
+ });
+
+ it('should call appropriate function for updating meber with new postcode when called with numeric input', () => {
+ const spy: any = spyOn(sandbox, 'addPostcode');
+ const input = '07744';
+ component.assignPostcode(input);
+ expect(spy).toHaveBeenCalled();
+ });
+
it('should call appropriate function for updating meber with new postcode when called with non-numeric input', () => {
const spy: any = spyOn(sandbox, 'displayPostcodeNotNumberNotification');
const input = '0774A';
@@ -52,6 +70,13 @@
expect(spy).toHaveBeenCalled();
});
+ it('should display Notification if no postcode input is provided', () => {
+ const spy: any = spyOn(component['_utilService'], 'displayNotification');
+ const input = null;
+ component.assignPostcode(input);
+ expect(spy).toHaveBeenCalled();
+ });
+
it('should clear postcode input', () => {
component.postcodeInput = { nativeElement: { value: 'x' } };
component.clearPostcodeInput();
diff --git a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes.component.ts b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes.component.ts
index 7e98b0b..59af493 100644
--- a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes.component.ts
+++ b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes.component.ts
@@ -16,7 +16,7 @@
import { Subscription } from 'rxjs';
import { DISTRIBUTION_GROUP_MEMBER_POSTCODES_COLDEF } from '@grid-failure-information-app/app/pages/distribution-group/distribution-group-member-postcodes/distribution-group-member-postcodes-col-def';
import { SetFilterComponent } from '@grid-failure-information-app/shared/filters/ag-grid/set-filter/set-filter.component';
-import { DIGITS_REGEXP } from '@grid-failure-information-app/shared/constants/regex.constants';
+import { UtilService } from '@grid-failure-information-app/shared/utility/utility.service';
@Component({
selector: 'app-distribution-group-member-postcodes',
@@ -30,7 +30,7 @@
private _subscription: Subscription;
- constructor(public sandbox: DistributionGroupSandbox) {
+ constructor(public sandbox: DistributionGroupSandbox, private _utilService: UtilService) {
super();
this.frameworkComponents = { setFilterComponent: SetFilterComponent };
}
@@ -56,6 +56,8 @@
} else {
this.sandbox.displayPostcodeNotNumberNotification();
}
+ } else {
+ this._utilService.displayNotification('NoPostcodeSelected');
}
}
diff --git a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group.sandbox.ts b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group.sandbox.ts
index f8496bd..8da9df9 100644
--- a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group.sandbox.ts
+++ b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group.sandbox.ts
@@ -70,6 +70,7 @@
this._clear();
this.appState$.dispatch(new MarkAsTouchedAction(distributionGroupFormReducer.FORM_ID));
this.selectedTemplate = DistributionPublicationStatusEnum.PUBLISH;
+ this.oldSelectedTemplate = DistributionPublicationStatusEnum.PUBLISH;
this.appState$.select(store.getInitialEmailContent).subscribe((initialEmailContent: InitialEmailContent) => {
this.appState$.dispatch(new SetValueAction(INITIAL_STATE.controls.emailSubjectView.id, initialEmailContent.emailSubjectPublishInit));
this.appState$.dispatch(new SetValueAction(INITIAL_STATE.controls.emailSubjectPublish.id, initialEmailContent.emailSubjectPublishInit));
@@ -309,7 +310,7 @@
this.disableMemberButton = false;
}
- public changeEmailTemplate(templateValue: string, oldTemplateValue: string) {
+ public changeEmailTemplate(templateValue: string, oldTemplateValue: string = DistributionPublicationStatusEnum.PUBLISH) {
let emailsubject: string;
let distributionText: string;
let emailsubjectOld: string = this.currentFormState.value.emailSubjectView;