Skip to content

Commit 777b6e0

Browse files
committed
Add tests to ensure parameters passing
1 parent d8d12da commit 777b6e0

File tree

1 file changed

+37
-3
lines changed

1 file changed

+37
-3
lines changed

src/archivist/services/index.test.js

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -298,10 +298,44 @@ describe('Services', () => {
298298
expect(result[0](null, 'context')).to.equal('foo');
299299
});
300300

301-
it('returns undefined for unknown object-based filter config', () => {
302-
const result = getServiceFilters({}, [{ notFound: 'bar' }]);
301+
context('parameters passed to filters', () => {
302+
let serviceLoadedFilters;
303+
let passedDOM;
304+
let passedContext;
303305

304-
expect(result).to.be.undefined;
306+
before(() => {
307+
serviceLoadedFilters = { testParamsFilter: (dom, params, context) => ({ dom, params, context }) };
308+
passedDOM = '<div>test</div>';
309+
passedContext = { location: 'https://example.com' };
310+
});
311+
312+
const testParameterPassing = params => {
313+
const serviceDeclaredFilters = [{ testParamsFilter: params }];
314+
const [loadedFilter] = getServiceFilters(serviceLoadedFilters, serviceDeclaredFilters);
315+
const filterResult = loadedFilter(passedDOM, passedContext);
316+
317+
expect(filterResult.params).to.deep.equal(params);
318+
expect(filterResult.dom).to.equal(passedDOM);
319+
expect(filterResult.context).to.equal(passedContext);
320+
};
321+
322+
context('as a string', () => {
323+
it('passes parameters correctly', () => {
324+
testParameterPassing('param');
325+
});
326+
});
327+
328+
context('as an array', () => {
329+
it('passes parameters correctly', () => {
330+
testParameterPassing([ 'param1', 'param2' ]);
331+
});
332+
});
333+
334+
context('as an object', () => {
335+
it('passes parameters correctly', () => {
336+
testParameterPassing({ param1: 'param1', param2: 'param2' });
337+
});
338+
});
305339
});
306340
});
307341

0 commit comments

Comments
 (0)