BugFixing: ReplaySubject to BehaviourSubject
diff --git a/projects/grid-failure-information-app/karma.conf.js b/projects/grid-failure-information-app/karma.conf.js
index ac72c4b..1f3ce14 100644
--- a/projects/grid-failure-information-app/karma.conf.js
+++ b/projects/grid-failure-information-app/karma.conf.js
@@ -61,6 +61,7 @@
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['ChromeHeadlessNoSandbox'],
+ usePolling: true,
customLaunchers: {
ChromeHeadlessNoSandbox: {
base: 'ChromeHeadless',
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 91c74ce..f635dd5 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
@@ -28,7 +28,7 @@
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { ActionsSubject, Store } from '@ngrx/store';
import { DisableAction, EnableAction, SetUserDefinedPropertyAction } from 'ngrx-forms';
-import { of, ReplaySubject } from 'rxjs';
+import { of, ReplaySubject, BehaviorSubject } from 'rxjs';
import { INITIAL_STATE, FORM_ID, GAS_BRANCH_ID_KEY } from '@grid-failure-information-app/shared/store/reducers/grid-failures/grid-failure-details-form.reducer';
import * as distributionGroupActions from '@grid-failure-information-app/shared/store/actions/distribution-groups.action';
@@ -456,7 +456,7 @@
const failureHousenumber = new FailureHousenumber();
failureHousenumber.housenumber = 'test';
failureHousenumber.uuid = 'hello';
- service['_addressHouseNumbers$'] = new ReplaySubject<FailureHousenumber[]>();
+ service['_addressHouseNumbers$'] = new BehaviorSubject<FailureHousenumber[]>([]);
service['_addressHouseNumbers$'].next([failureHousenumber]);
const hsnr = 'test';
service['_setLatLong'](hsnr);
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 7b579a8..be30424 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
@@ -49,7 +49,7 @@
unbox,
MarkAsPristineAction,
} from 'ngrx-forms';
-import { combineLatest, Observable, of, ReplaySubject } from 'rxjs';
+import { combineLatest, Observable, of, ReplaySubject, BehaviorSubject } from 'rxjs';
import { debounceTime, distinctUntilChanged, map, skipWhile, take, takeUntil, tap } from 'rxjs/operators';
import { StateEnum } from '@grid-failure-information-app/shared/constants/enums';
@@ -111,7 +111,7 @@
takeUntil(this._endSubscriptions$)
);
- private _addressHouseNumbers$: ReplaySubject<Array<models.FailureHousenumber>> = new ReplaySubject<Array<models.FailureHousenumber>>();
+ private _addressHouseNumbers$: BehaviorSubject<Array<models.FailureHousenumber>> = new BehaviorSubject<Array<models.FailureHousenumber>>([]);
public addressHouseNumbers$: Observable<Array<string>> = this._addressHouseNumbers$.pipe(
map((hnrs: models.FailureHousenumber[]) => hnrs.map(hnr => hnr.housenumber))
);
@@ -438,6 +438,9 @@
}
private _setLatLong(hsnr: string): void {
+ if (!hsnr) {
+ return;
+ }
this._addressHouseNumbers$.pipe(take(1)).subscribe((addresses: Array<models.FailureHousenumber>) => {
let addressHouseNumber: models.FailureHousenumber;
if (!!addresses && addresses.length > 0) {
@@ -463,6 +466,7 @@
if (houseNumbers.length > 0) {
houseNumbers.sort(sortAlphaNum);
this._addressHouseNumbers$.next(houseNumbers);
+ console.log(houseNumbers);
}
});
this.actionsSubject
diff --git a/projects/grid-failure-information-app/src/app/shared/store/reducers/distribution-groups/distribution-group-members.reducer.spec.ts b/projects/grid-failure-information-app/src/app/shared/store/reducers/distribution-groups/distribution-group-members.reducer.spec.ts
index 56f1f3c..fea9679 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/reducers/distribution-groups/distribution-group-members.reducer.spec.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/reducers/distribution-groups/distribution-group-members.reducer.spec.ts
@@ -32,9 +32,9 @@
it('should trigger loading state', () => {
const action = distributionGroupActions.loadDistributionGroupMembers({ payload: 'x' });
- const result = reducer(INITIAL_STATE, action);
+ const res = reducer(INITIAL_STATE, action);
- expect(result).toEqual({
+ expect(res).toEqual({
...INITIAL_STATE,
loading: true,
});