SI-447 expected reason

Signed-off-by: Peter Buschmann <peter.buschmann@pta.de>
diff --git a/i18n/grid-failure.de.json b/i18n/grid-failure.de.json
index b22ba11..d9cfdae 100644
--- a/i18n/grid-failure.de.json
+++ b/i18n/grid-failure.de.json
@@ -18,6 +18,7 @@
     "BranchColorCode": "Farbe der Sparte",
     "City": "Ort (betroffene Orte)",
     "District": "Ortsteil",
+    "ExpectedReason": "Voraussichtlicher Grund",
     "FailureBegin": "Störungsbeginn (gemeldet)",
     "FailureClassification": "Klassifikation",
     "FailureEndPlanned": "Störungsende (geplant)",
@@ -28,7 +29,6 @@
     "InternalRemark": "Interne Bemerkungen",
     "Postcode": "Postleitzahl",
     "PressureLevel": "Druckstufe",
-    "ProbableReason": "Voraussichtlicher Grund",
     "Radius": "Radius",
     "Responsibility": "Zuständigkeit",
     "StationDescription": "Bezeichnung",
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-api-client.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-api-client.ts
index 1b4d1a8..e1df839 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-api-client.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-api-client.ts
@@ -20,7 +20,7 @@
   FailureClassification,
   FailureType,
   FailureState,
-  FailurePublicationText,
+  FailureExpectedReason,
   FailureRadius,
 } from '@grid-failure-information-app/shared/models';
 import { POST } from '@grid-failure-information-app/shared/async-services/http';
@@ -97,9 +97,9 @@
     return null;
   }
 
-  @GET('/publication-texts')
+  @GET('/expected-reasons')
   @Adapter(GridFailureService.publicationTextListAdapter)
-  public getGridFailurePublicationTexts(): Observable<FailurePublicationText[]> {
+  public getGridFailurePublicationTexts(): Observable<FailureExpectedReason[]> {
     return null;
   }
 }
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.component.html b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.component.html
index 4663368..23e96d8 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.component.html
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.component.html
@@ -310,15 +310,16 @@
               </div>
             </div>
 
-            <!-- probableReason -->
+            <!-- expectedReason -->
             <div class="form-group row">
-              <label for="probableReason" class="col-sm-2 col-form-label">{{ 'GridFailure.ProbableReason' | translate }}</label>
+              <label for="expectedReason" class="col-sm-2 col-form-label">{{ 'GridFailure.ExpectedReason' | translate }}</label>
               <div class="col-sm-4">
                 <select
                   required
                   type="text"
                   class="form-control"
-                  [ngrxFormControlState]="((gridFailureDetailsSandbox.gridFailureDetailsFormState$ | async)?.controls)['publicationTextId']"
+                  id="expectedReason"
+                  [ngrxFormControlState]="((gridFailureDetailsSandbox.gridFailureDetailsFormState$ | async)?.controls)['expectedReasonId']"
                 >
                   <option [value]="null" selected disabled>{{ 'SelectOption' | translate }}</option>
                   <option *ngFor="let item of gridFailureDetailsSandbox.gridFailurePublicationTexts$ | async" [value]="item.id">{{ item.text }}</option>
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.sandbox.spec.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.sandbox.spec.ts
index e5f1f2b..e284873 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.sandbox.spec.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.sandbox.spec.ts
@@ -76,7 +76,7 @@
 
   it('should dispatch loadGridFailurePublicationTexts Action via loadGridFailurePublicationTexts()', () => {
     service.loadGridFailurePublicationTexts();
-    expect(appState.dispatch).toHaveBeenCalledWith(gridFailureActions.loadGridFailurePublicationTexts());
+    expect(appState.dispatch).toHaveBeenCalledWith(gridFailureActions.loadGridFailureExpectedReasons());
   });
 
   it('should dispatch loadGridFailureVersions Action via loadGridFailureVersions(id)', () => {
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.sandbox.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.sandbox.ts
index 1a22b17..4df3771 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.sandbox.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.sandbox.ts
@@ -27,7 +27,7 @@
   FailureBranch,
   FailureState,
   FailureRadius,
-  FailurePublicationText,
+  FailureExpectedReason,
 } from '@grid-failure-information-app/shared/models';
 import { BaseFormSandbox } from '@grid-failure-information-app/shared/sandbox/base-form.sandbox';
 import * as store from '@grid-failure-information-app/shared/store';
@@ -58,7 +58,7 @@
     .select(store.getGridFailureStatesData)
     .pipe(map(states => states.filter(item => item.external)));
   public gridFailureRadii$: Observable<FailureRadius[]> = this.appState$.select(store.getGridFailureRadiiData);
-  public gridFailurePublicationTexts$: Observable<FailurePublicationText[]> = this.appState$.select(store.getGridFailurePublicationTextsData);
+  public gridFailurePublicationTexts$: Observable<FailureExpectedReason[]> = this.appState$.select(store.getGridFailurePublicationTextsData);
   public datePickerResetEnum = DatePickerResetEnum;
   public voltageLevelEnum = VoltageLevelEnum;
   public pressureLevelEnum = PressureLevelEnum;
@@ -106,7 +106,7 @@
   }
 
   public loadGridFailurePublicationTexts(): void {
-    this.appState$.dispatch(gridFailureActions.loadGridFailurePublicationTexts());
+    this.appState$.dispatch(gridFailureActions.loadGridFailureExpectedReasons());
   }
 
   public loadGridFailureVersions(gridFailureId: string): void {
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-column-definition.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-column-definition.ts
index 40797b4..d358a9e 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-column-definition.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-column-definition.ts
@@ -140,8 +140,8 @@
     },
   },
   {
-    field: 'publicationText',
-    headerName: 'GridFailure.ProbableReason',
+    field: 'expectedReasonText',
+    headerName: 'GridFailure.ExpectedReason',
     sortable: true,
     filter: 'setFilterComponent',
   },
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure.service.spec.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure.service.spec.ts
index 282ddb1..c83e1af 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure.service.spec.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure.service.spec.ts
@@ -17,7 +17,7 @@
   FailureType,
   FailureState,
   FailureRadius,
-  FailurePublicationText,
+  FailureExpectedReason,
 } from '@grid-failure-information-app/shared/models';
 import { GridFailureService } from '@grid-failure-information-app/pages/grid-failure/grid-failure.service';
 
@@ -74,7 +74,7 @@
   });
 
   it('should transform publication texts api response', () => {
-    const response = [new FailurePublicationText()];
+    const response = [new FailureExpectedReason()];
     response[0].id = 'X';
 
     expect(GridFailureService.publicationTextListAdapter(response)[0].id).toBe('X');
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure.service.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure.service.ts
index 3224ead..09794b7 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure.service.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure.service.ts
@@ -18,7 +18,7 @@
   FailureType,
   FailureState,
   FailureRadius,
-  FailurePublicationText,
+  FailureExpectedReason,
 } from '@grid-failure-information-app/shared/models';
 
 @Injectable()
@@ -51,7 +51,7 @@
     return response.map(responseItem => new FailureRadius(responseItem));
   }
 
-  static publicationTextListAdapter(response: any): Array<FailurePublicationText> {
-    return response.map(responseItem => new FailurePublicationText(responseItem));
+  static publicationTextListAdapter(response: any): Array<FailureExpectedReason> {
+    return response.map(responseItem => new FailureExpectedReason(responseItem));
   }
 }
diff --git a/projects/grid-failure-information-app/src/app/shared/models/failure-publication-text.model.ts b/projects/grid-failure-information-app/src/app/shared/models/failure-expected-reason.model.ts
similarity index 95%
rename from projects/grid-failure-information-app/src/app/shared/models/failure-publication-text.model.ts
rename to projects/grid-failure-information-app/src/app/shared/models/failure-expected-reason.model.ts
index 226ae03..976d574 100644
--- a/projects/grid-failure-information-app/src/app/shared/models/failure-publication-text.model.ts
+++ b/projects/grid-failure-information-app/src/app/shared/models/failure-expected-reason.model.ts
@@ -10,7 +10,7 @@
  *
  * SPDX-License-Identifier: EPL-2.0
  ********************************************************************************/
-export class FailurePublicationText {
+export class FailureExpectedReason {
   public id: string = null;
   public text: string = null;
   public description: string = null;
diff --git a/projects/grid-failure-information-app/src/app/shared/models/grid-failure.model.ts b/projects/grid-failure-information-app/src/app/shared/models/grid-failure.model.ts
index 7cd9ab1..cfef922 100644
--- a/projects/grid-failure-information-app/src/app/shared/models/grid-failure.model.ts
+++ b/projects/grid-failure-information-app/src/app/shared/models/grid-failure.model.ts
@@ -47,8 +47,8 @@
   public objectReferenceExternalSystem: string = null;
   public publicationStatus: string = null;
   public publicationFreetext: string = null;
-  public publicationText: string = null;
-  public publicationTextId: string = null;
+  public expectedReasonText: string = null;
+  public expectedReasonId: string = null;
   public longitude: number = null;
   public latitude: number = null;
   public versionNumber: number = 0;
diff --git a/projects/grid-failure-information-app/src/app/shared/models/index.ts b/projects/grid-failure-information-app/src/app/shared/models/index.ts
index 2630c9a..f8e95ba 100644
--- a/projects/grid-failure-information-app/src/app/shared/models/index.ts
+++ b/projects/grid-failure-information-app/src/app/shared/models/index.ts
@@ -17,4 +17,4 @@
 export * from './failure-type.model';
 export * from './failure-state.model';
 export * from './failure-radius.model';
-export * from './failure-publication-text.model';
+export * from './failure-expected-reason.model';
diff --git a/projects/grid-failure-information-app/src/app/shared/store/actions/grid-failures.action.ts b/projects/grid-failure-information-app/src/app/shared/store/actions/grid-failures.action.ts
index 0d3875a..65cc525 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/actions/grid-failures.action.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/actions/grid-failures.action.ts
@@ -18,7 +18,7 @@
   FailureType,
   FailureState,
   FailureRadius,
-  FailurePublicationText,
+  FailureExpectedReason,
 } from '@grid-failure-information-app/shared/models';
 
 export interface ILoadGridFailuresSuccess {
@@ -75,9 +75,9 @@
 export const loadGridFailureRadiiSuccess = createAction('[GridFailureRadii] Load Success', props<{ payload: Array<FailureRadius> }>());
 export const loadGridFailureRadiiFail = createAction('[GridFailureRadii] Load Fail', props<{ payload: string }>());
 
-export const loadGridFailurePublicationTexts = createAction('[GridFailurePublicationTexts] Load');
-export const loadGridFailurePublicationTextsSuccess = createAction(
-  '[GridFailurePublicationTexts] Load Success',
-  props<{ payload: Array<FailurePublicationText> }>()
+export const loadGridFailureExpectedReasons = createAction('[GridFailureFailureExpectedReasons] Load');
+export const loadGridFailureExpectedReasonsSuccess = createAction(
+  '[[GridFailureFailureExpectedReasons] Load Success',
+  props<{ payload: Array<FailureExpectedReason> }>()
 );
-export const loadGridFailurePublicationTextsFail = createAction('[GridFailurePublicationTexts] Load Fail', props<{ payload: string }>());
+export const loadGridFailureExpectedReasonsFail = createAction('[[GridFailureFailureExpectedReasons] Load Fail', props<{ payload: string }>());
diff --git a/projects/grid-failure-information-app/src/app/shared/store/effects/grid-failures.effect.spec.ts b/projects/grid-failure-information-app/src/app/shared/store/effects/grid-failures.effect.spec.ts
index 93faddc..13e4883 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/effects/grid-failures.effect.spec.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/effects/grid-failures.effect.spec.ts
@@ -20,7 +20,7 @@
   FailureType,
   FailureState,
   FailureRadius,
-  FailurePublicationText,
+  FailureExpectedReason,
 } from '@grid-failure-information-app/shared/models';
 import * as gridFailureActions from '@grid-failure-information-app/shared/store/actions/grid-failures.action';
 import { GridFailureApiClient } from '@grid-failure-information-app/pages/grid-failure/grid-failure-api-client';
@@ -204,13 +204,13 @@
     actions$.next(gridFailureActions.loadGridFailureRadii());
   });
 
-  it('should equal loadGridFailurePublicationTexts after getGridFailurePublicationTexts', done => {
-    apiResponse = [new FailurePublicationText({ id: '1' })];
+  it('should equal loadGridFailureExpectedReasons after getGridFailureExpectedReasons', done => {
+    apiResponse = [new FailureExpectedReason({ id: '1' })];
     spyOn(apiClient, 'getGridFailurePublicationTexts').and.returnValue(of(apiResponse));
     effects.getGridFailurePublicationTexts$.pipe(take(1)).subscribe(result => {
-      expect(result).toEqual(gridFailureActions.loadGridFailurePublicationTextsSuccess({ payload: apiResponse }));
+      expect(result).toEqual(gridFailureActions.loadGridFailureExpectedReasonsSuccess({ payload: apiResponse }));
     });
     done();
-    actions$.next(gridFailureActions.loadGridFailurePublicationTexts());
+    actions$.next(gridFailureActions.loadGridFailureExpectedReasons());
   });
 });
diff --git a/projects/grid-failure-information-app/src/app/shared/store/effects/grid-failures.effect.ts b/projects/grid-failure-information-app/src/app/shared/store/effects/grid-failures.effect.ts
index 9756138..fa06b8e 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/effects/grid-failures.effect.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/effects/grid-failures.effect.ts
@@ -26,7 +26,7 @@
   FailureState,
   FailureRadius,
   FailureBranch,
-  FailurePublicationText,
+  FailureExpectedReason,
 } from '@grid-failure-information-app/shared/models';
 import { Store } from '@ngrx/store';
 
@@ -158,12 +158,12 @@
 
   getGridFailurePublicationTexts$: any = createEffect(() =>
     this._actions$.pipe(
-      ofType(gridFailureActions.loadGridFailurePublicationTexts),
+      ofType(gridFailureActions.loadGridFailureExpectedReasons),
       switchMap(action => {
         return this._apiClient
           .getGridFailurePublicationTexts()
-          .map((response: FailurePublicationText[]) => gridFailureActions.loadGridFailurePublicationTextsSuccess({ payload: response }))
-          .catch(error => of(gridFailureActions.loadGridFailurePublicationTextsFail({ payload: error })));
+          .map((response: FailureExpectedReason[]) => gridFailureActions.loadGridFailureExpectedReasonsSuccess({ payload: response }))
+          .catch(error => of(gridFailureActions.loadGridFailureExpectedReasonsFail({ payload: error })));
       })
     )
   );
diff --git a/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-details-form.reducer.ts b/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-details-form.reducer.ts
index 2395f9a..a63c456 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-details-form.reducer.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-details-form.reducer.ts
@@ -25,7 +25,7 @@
     branchId: validate(required),
     voltageLevel: validate(required),
     failureBegin: validate(required),
-    publicationTextId: validate(required),
+    expectedReasonId: validate(required),
     city: validate(required),
     street: validate(required),
     radiusId: validate(required),
diff --git a/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-publication-texts.reducer.spec.ts b/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-publication-texts.reducer.spec.ts
index 7d2c241..0f1c9f6 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-publication-texts.reducer.spec.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-publication-texts.reducer.spec.ts
@@ -20,7 +20,7 @@
   reducer,
 } from '@grid-failure-information-app/shared/store/reducers/grid-failures/grid-failure-publication-texts.reducer';
 import * as gridFailureActions from '@grid-failure-information-app/shared/store/actions/grid-failures.action';
-import { FailurePublicationText } from '@grid-failure-information-app/shared/models';
+import { FailureExpectedReason } from '@grid-failure-information-app/shared/models';
 
 describe('GridFailurePublicationTextsReducer', () => {
   it('should return the initial state', () => {
@@ -31,7 +31,7 @@
   });
 
   it('should trigger loading state', () => {
-    const action = gridFailureActions.loadGridFailurePublicationTexts();
+    const action = gridFailureActions.loadGridFailureExpectedReasons();
     const result = GridFailurePublicationTextsReducer(INITIAL_STATE, action);
 
     expect(result).toEqual({
@@ -41,8 +41,8 @@
   });
 
   it('should trigger loaded state', () => {
-    const items = { payload: [new FailurePublicationText()] };
-    const action = gridFailureActions.loadGridFailurePublicationTextsSuccess(items);
+    const items = { payload: [new FailureExpectedReason()] };
+    const action = gridFailureActions.loadGridFailureExpectedReasonsSuccess(items);
     const result = GridFailurePublicationTextsReducer(INITIAL_STATE, action);
 
     expect(result.loaded).toBe(true);
@@ -50,7 +50,7 @@
 
   it('should trigger failed state', () => {
     const error = { payload: 'err_msg' };
-    const action = gridFailureActions.loadGridFailurePublicationTextsFail(error);
+    const action = gridFailureActions.loadGridFailureExpectedReasonsFail(error);
     const result = GridFailurePublicationTextsReducer(INITIAL_STATE, action);
 
     expect(result).toEqual({
diff --git a/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-publication-texts.reducer.ts b/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-publication-texts.reducer.ts
index 64da952..fbbdf3a 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-publication-texts.reducer.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-publication-texts.reducer.ts
@@ -11,14 +11,14 @@
  * SPDX-License-Identifier: EPL-2.0
  ********************************************************************************/
 import * as gridFailureActions from '@grid-failure-information-app/shared/store/actions/grid-failures.action';
-import { FailurePublicationText } from '@grid-failure-information-app/shared/models';
+import { FailureExpectedReason } from '@grid-failure-information-app/shared/models';
 import { createReducer, on } from '@ngrx/store';
 
 export interface State {
   loading: boolean;
   loaded: boolean;
   failed: boolean;
-  data: Array<FailurePublicationText>;
+  data: Array<FailureExpectedReason>;
 }
 
 export const INITIAL_STATE: State = {
@@ -30,7 +30,7 @@
 
 export const GridFailurePublicationTextsReducer = createReducer(
   INITIAL_STATE,
-  on(gridFailureActions.loadGridFailurePublicationTexts, (state: any, action: any) => {
+  on(gridFailureActions.loadGridFailureExpectedReasons, (state: any, action: any) => {
     return {
       ...state,
       loading: true,
@@ -39,7 +39,7 @@
       data: [],
     };
   }),
-  on(gridFailureActions.loadGridFailurePublicationTextsSuccess, (state: any, action: any) => {
+  on(gridFailureActions.loadGridFailureExpectedReasonsSuccess, (state: any, action: any) => {
     return {
       ...state,
       loading: false,
@@ -48,7 +48,7 @@
       data: action['payload'],
     };
   }),
-  on(gridFailureActions.loadGridFailurePublicationTextsFail, (state: any, action: any) => {
+  on(gridFailureActions.loadGridFailureExpectedReasonsFail, (state: any, action: any) => {
     return {
       ...state,
       loaded: false,