Skip to content

Commit 4a8c647

Browse files
#9: code review fixes & enhanced tests
1 parent 73b10e3 commit 4a8c647

3 files changed

Lines changed: 21 additions & 5 deletions

File tree

lib/metadataTypes/DataFilter.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ class DataFilter extends MetadataType {
168168
Folder.client = this.client;
169169
Folder.buObject = this.buObject;
170170
Folder.properties = this.properties;
171+
this.cache[this.buObject.mid] ||= {};
171172
this.cache[this.buObject.mid].folderMeasure ||= {};
172173
this.cache[this.buObject.mid].folderMeasure = (
173174
await Folder.retrieveForCache(null, subTypeArr)
@@ -301,7 +302,7 @@ class DataFilter extends MetadataType {
301302
* @param {DataFilterMap} metadataTypeMap -
302303
*/
303304
static async _cacheMeasures(metadataTypeMap) {
304-
if (this.cache[this.buObject.mid].measures) {
305+
if (this.cache?.[this.buObject.mid]?.measures) {
305306
return;
306307
}
307308
const subscriberFilters = Object.values(metadataTypeMap)

test/type.dataFilter.test.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,24 @@ describe('type: dataFilter', () => {
8181
it('Should create & upsert a dataFilter', async () => {
8282
// WHEN
8383

84-
await handler.deploy('testInstance/testBU', ['dataFilter']);
84+
const deployed = await handler.deploy('testInstance/testBU', ['dataFilter']);
8585
// THEN
8686
assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
8787
// get results from cache
8888
const result = cache.getCache();
8989
assert.equal(
9090
result.dataFilter ? Object.keys(result.dataFilter).length : 0,
9191
2,
92-
'unexptected number of dataFilters in cache'
92+
'unexpected number of dataFilters in cache'
9393
);
94+
assert.equal(
95+
deployed?.['testInstance/testBU']?.dataFilter
96+
? Object.keys(deployed['testInstance/testBU'].dataFilter).length
97+
: 0,
98+
2,
99+
'unexpected number of dataFilters deployed'
100+
);
101+
94102
// confirm created item
95103
assert.deepEqual(
96104
await testUtils.getActualJson('testNew_dataFilter', 'dataFilter'),

test/type.filter.test.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,22 @@ describe('type: filter', () => {
7777
it('Should create & upsert a filter', async () => {
7878
// WHEN
7979

80-
await handler.deploy('testInstance/testBU', ['filter']);
80+
const deployed = await handler.deploy('testInstance/testBU', ['filter']);
8181
// THEN
8282
assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
8383
// get results from cache
8484
const result = cache.getCache();
8585
assert.equal(
8686
result.filter ? Object.keys(result.filter).length : 0,
8787
2,
88-
'unexptected number of filters in cache'
88+
'unexpected number of filters in cache'
89+
);
90+
assert.equal(
91+
deployed?.['testInstance/testBU']?.filter
92+
? Object.keys(deployed['testInstance/testBU'].filter).length
93+
: 0,
94+
2,
95+
'unexpected number of filters deployed'
8996
);
9097
// confirm created item
9198
assert.deepEqual(

0 commit comments

Comments
 (0)