Skip to content

Commit 71efd95

Browse files
author
Dennis Labordus
authored
Merge pull request #65 from com-pas/userinfo_bug
Potential bug fix
2 parents de19621 + aa501a1 commit 71efd95

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

src/compas/CompasSettingsElement.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,9 @@ export type CompasSettingsRecord = {
99
sclDataServiceUrl: string;
1010
cimMappingServiceUrl: string;
1111
};
12-
export const defaults: CompasSettingsRecord = {
13-
sclDataServiceUrl: '/compas-scl-data-service',
14-
cimMappingServiceUrl: '/compas-cim-mapping',
15-
};
1612

1713
export function CompasSettings() {
14+
1815
return {
1916
/** Current [[`CompasSettings`]] in `localStorage`, default to [[`defaults`]]. */
2017
get compasSettings(): CompasSettingsRecord {
@@ -24,14 +21,21 @@ export function CompasSettings() {
2421
};
2522
},
2623

24+
get defaultSettings(): CompasSettingsRecord {
25+
return {
26+
sclDataServiceUrl: '/compas-scl-data-service',
27+
cimMappingServiceUrl: '/compas-cim-mapping'
28+
}
29+
},
30+
2731
/** Update the `value` of `setting`, storing to `localStorage`. */
2832
setCompasSetting<T extends keyof CompasSettingsRecord>(setting: T, value: CompasSettingsRecord[T]): void {
2933
localStorage.setItem(setting, <string>(<unknown>value));
3034
},
3135

3236
getCompasSetting<T extends keyof CompasSettingsRecord>(setting: T): CompasSettingsRecord[T] {
3337
return (
34-
<CompasSettingsRecord[T] | null>localStorage.getItem(setting) ?? defaults[setting]
38+
<CompasSettingsRecord[T] | null>localStorage.getItem(setting) ?? this.defaultSettings[setting]
3539
);
3640
}
3741
}

test/unit/compas/CompasSettingsElement.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {expect, fixture, html} from '@open-wc/testing';
22

33
import "../../../src/compas/CompasSettingsElement.js";
4-
import {CompasSettings, CompasSettingsElement, defaults} from "../../../src/compas/CompasSettingsElement.js";
4+
import {CompasSettings, CompasSettingsElement} from "../../../src/compas/CompasSettingsElement.js";
55

66
describe('compas-settings', () => {
77
let element: CompasSettingsElement;
@@ -17,7 +17,7 @@ describe('compas-settings', () => {
1717
});
1818

1919
it('initially has default settings', () => {
20-
expect(element).to.have.deep.property('compasSettings', defaults);
20+
expect(element).to.have.deep.property('compasSettings', CompasSettings().defaultSettings);
2121
});
2222

2323
it('stores settings to localStorage', () => {
@@ -53,7 +53,7 @@ describe('compas-settings', () => {
5353
await element.getSclDataServiceUrlField().updateComplete;
5454

5555
expect(element.save()).to.be.false;
56-
expect(element).to.have.deep.property('compasSettings', defaults);
56+
expect(element).to.have.deep.property('compasSettings', CompasSettings().defaultSettings);
5757
});
5858

5959
it('save will not be done when invalid value (CIM Mapping Service)', async () => {
@@ -62,17 +62,17 @@ describe('compas-settings', () => {
6262
await element.getCimMappingServiceUrlField().updateComplete;
6363

6464
expect(element.save()).to.be.false;
65-
expect(element).to.have.deep.property('compasSettings', defaults);
65+
expect(element).to.have.deep.property('compasSettings', CompasSettings().defaultSettings);
6666
});
6767

6868
it('resets settings to default on reset button click', async () => {
6969
await element.updateComplete;
7070
CompasSettings().setCompasSetting('sclDataServiceUrl', 'http://localhost:9091/compas-scl-data-service');
7171
CompasSettings().setCompasSetting('cimMappingServiceUrl', 'http://localhost:9092/compas-cim-mapping');
7272

73-
expect(element).to.not.have.deep.property('compasSettings', defaults);
73+
expect(element).to.not.have.deep.property('compasSettings', CompasSettings().defaultSettings);
7474
expect(element.reset()).to.be.true;
75-
expect(element).to.have.deep.property('compasSettings', defaults);
75+
expect(element).to.have.deep.property('compasSettings', CompasSettings().defaultSettings);
7676
});
7777

7878
it('looks like the latest snapshot', async () => {

0 commit comments

Comments
 (0)