update qs utils to allow empty string params

This commit is contained in:
Keith Grant
2020-02-26 16:38:52 -08:00
parent e0df2f511e
commit 7e8fb29658
2 changed files with 32 additions and 2 deletions

View File

@@ -310,6 +310,21 @@ describe('qs (qs.js)', () => {
page_size: 15,
});
});
test('should parse empty string values', () => {
const config = {
namespace: 'bee',
defaultParams: { page: 1, page_size: 15 },
integerFields: ['page', 'page_size'],
};
const query = '?bee.baz=bar&bee.or__source=';
expect(parseQueryString(config, query)).toEqual({
baz: 'bar',
page: 1,
page_size: 15,
or__source: '',
});
});
});
describe('removeParams', () => {
@@ -532,6 +547,21 @@ describe('qs (qs.js)', () => {
page_size: 15,
});
});
test('should retain empty string', () => {
const config = {
namespace: null,
defaultParams: { page: 1, page_size: 15 },
integerFields: ['page', 'page_size'],
};
const oldParams = { baz: '', page: 3, bag: 'boom', page_size: 15 };
const toRemove = { bag: 'boom' };
expect(removeParams(config, oldParams, toRemove)).toEqual({
baz: '',
page: 3,
page_size: 15,
});
});
});
describe('_stringToObject', () => {