Skip to content

Commit 82fa784

Browse files
committed
chore: made store protected
1 parent 734c98f commit 82fa784

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

packages/parameters/src/BaseProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { GetParameterError, TransformParameterError } from './Exceptions';
77
import type { BaseProviderInterface, GetMultipleOptionsInterface, GetOptionsInterface, TransformOptions } from './types';
88

99
abstract class BaseProvider implements BaseProviderInterface {
10-
public store: Map<string, ExpirableValue>;
10+
protected store: Map<string, ExpirableValue>;
1111

1212
public constructor () {
1313
this.store = new Map();

packages/parameters/tests/unit/BaseProvider.test.ts

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,25 @@ describe('Class: BaseProvider', () => {
1616
});
1717

1818
class TestProvider extends BaseProvider {
19+
public _add(key: string, value: ExpirableValue): void {
20+
this.store.set(key, value);
21+
}
22+
1923
public _get(_name: string): Promise<string> {
2024
throw Error('Not implemented.');
2125
}
26+
27+
public _getKeyTest(key: string): ExpirableValue | undefined {
28+
return this.store.get(key);
29+
}
2230

2331
public _getMultiple(_path: string): Promise<Record<string, string | undefined>> {
2432
throw Error('Not implemented.');
2533
}
34+
35+
public _getStoreSize(): number {
36+
return this.store.size;
37+
}
2638
}
2739

2840
describe('Method: addToCache', () => {
@@ -31,27 +43,27 @@ describe('Class: BaseProvider', () => {
3143

3244
// Prepare
3345
const provider = new TestProvider();
34-
const addSpy = jest.spyOn(provider.store, 'set');
3546

3647
// Act
3748
provider.addToCache('my-key', 'value', 0);
3849

3950
// Assess
40-
expect(addSpy).toBeCalledTimes(0);
51+
expect(provider._getKeyTest('my-key')).toBeUndefined();
4152

4253
});
4354

4455
test('when called with a value and maxAge, it places the value in the cache', () => {
4556

4657
// Prepare
4758
const provider = new TestProvider();
48-
const addSpy = jest.spyOn(provider.store, 'set');
4959

5060
// Act
51-
provider.addToCache('my-key', 'value', 5000);
61+
provider.addToCache('my-key', 'my-value', 5000);
5262

5363
// Assess
54-
expect(addSpy).toBeCalledTimes(1);
64+
expect(provider._getKeyTest('my-key')).toEqual(expect.objectContaining({
65+
value: 'my-value'
66+
}));
5567

5668
});
5769

@@ -73,7 +85,7 @@ describe('Class: BaseProvider', () => {
7385

7486
// Prepare
7587
const provider = new TestProvider();
76-
provider.store.set([ 'my-parameter', undefined ].toString(), new ExpirableValue('my-value', 5000));
88+
provider._add([ 'my-parameter', undefined ].toString(), new ExpirableValue('my-value', 5000));
7789

7890
// Act
7991
const values = await provider.get('my-parameter');
@@ -89,7 +101,7 @@ describe('Class: BaseProvider', () => {
89101
const mockData = 'my-remote-value';
90102
const provider = new TestProvider();
91103
jest.spyOn(provider, '_get').mockImplementation(() => new Promise((resolve, _reject) => resolve(mockData)));
92-
provider.store.set([ 'my-parameter', undefined ].toString(), new ExpirableValue('my-value', 5000));
104+
provider._add([ 'my-parameter', undefined ].toString(), new ExpirableValue('my-value', 5000));
93105

94106
// Act
95107
const values = await provider.get('my-parameter', { forceFetch: true });
@@ -107,7 +119,7 @@ describe('Class: BaseProvider', () => {
107119
jest.spyOn(provider, '_get').mockImplementation(() => new Promise((resolve, _reject) => resolve(mockData)));
108120
const expirableValue = new ExpirableValue('my-other-value', 0);
109121
jest.spyOn(expirableValue, 'isExpired').mockImplementation(() => true);
110-
provider.store.set([ 'my-path', undefined ].toString(), expirableValue);
122+
provider._add([ 'my-path', undefined ].toString(), expirableValue);
111123

112124
// Act
113125
const values = await provider.get('my-parameter');
@@ -367,7 +379,7 @@ describe('Class: BaseProvider', () => {
367379

368380
// Prepare
369381
const provider = new TestProvider();
370-
provider.store.set([ 'my-path', undefined ].toString(), new ExpirableValue({ 'A': 'my-value' }, 60000));
382+
provider._add([ 'my-path', undefined ].toString(), new ExpirableValue({ 'A': 'my-value' }, 60000));
371383

372384
// Act
373385
const values = await provider.getMultiple('my-path');
@@ -388,7 +400,7 @@ describe('Class: BaseProvider', () => {
388400
jest.spyOn(provider, '_getMultiple').mockImplementation(() => new Promise((resolve, _reject) => resolve(mockData)));
389401
const expirableValue = new ExpirableValue({ 'B': 'my-other-value' }, 0);
390402
jest.spyOn(expirableValue, 'isExpired').mockImplementation(() => true);
391-
provider.store.set([ 'my-path', undefined ].toString(), expirableValue);
403+
provider._add([ 'my-path', undefined ].toString(), expirableValue);
392404

393405
// Act
394406
const values = await provider.getMultiple('my-path');
@@ -409,13 +421,13 @@ describe('Class: BaseProvider', () => {
409421

410422
// Prepare
411423
const provider = new TestProvider();
412-
const clearSpy = jest.spyOn(provider.store, 'clear');
424+
provider._add([ 'my-path', undefined ].toString(), new ExpirableValue({ 'B': 'my-other-value' }, 0));
413425

414426
// Act
415427
provider.clearCache();
416428

417429
// Assess
418-
expect(clearSpy).toBeCalledTimes(1);
430+
expect(provider._getStoreSize()).toBe(0);
419431

420432
});
421433

0 commit comments

Comments
 (0)