mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-23 09:32:04 +00:00
69 lines
2.3 KiB
TypeScript
69 lines
2.3 KiB
TypeScript
import buildUrl from 'wherehows-web/utils/build-url';
|
|
import { module, test } from 'qunit';
|
|
|
|
module('Unit | Utility | build url', function() {
|
|
const baseUrl = 'https://www.linkedin.com';
|
|
const unEncodedString = 'string@string';
|
|
const encodedString = encodeURIComponent(unEncodedString);
|
|
|
|
test('baseUrl', function(assert) {
|
|
let result = buildUrl(baseUrl);
|
|
assert.equal(result, baseUrl, 'it returns the base url when no other arguments are passed');
|
|
|
|
result = buildUrl(baseUrl, {});
|
|
assert.equal(result, baseUrl, 'it returns the base url when an empty object is supplied as query parameter');
|
|
|
|
result = buildUrl(baseUrl, '');
|
|
assert.equal(result, baseUrl, 'it returns the base url when an empty string is supplied as query parameter');
|
|
|
|
result = buildUrl(baseUrl, '', true);
|
|
assert.equal(
|
|
result,
|
|
baseUrl,
|
|
'it returns the base url when the queryParam is an empty string and the useEncoding is set'
|
|
);
|
|
|
|
result = buildUrl(baseUrl, 'query', true);
|
|
assert.equal(
|
|
result,
|
|
`${baseUrl}?query=true`,
|
|
'it returns the base url with a query key set to true when true is passed as a query value'
|
|
);
|
|
|
|
result = buildUrl(baseUrl, 'query', unEncodedString, true);
|
|
assert.equal(
|
|
result,
|
|
`${baseUrl}?query=${encodedString}`,
|
|
'it returns the encoded value when the useEncoding flag is true'
|
|
);
|
|
|
|
result = buildUrl(baseUrl, { query: unEncodedString }, true);
|
|
assert.equal(result, `${baseUrl}?query=${encodedString}`, 'it returns the encoded string on a queryParams object');
|
|
|
|
result = buildUrl(baseUrl, '', '');
|
|
assert.equal(result, baseUrl, 'returns the baseUrl when no query parameter is supplied');
|
|
|
|
result = buildUrl(baseUrl, 'search', 'text');
|
|
assert.equal(result, `${baseUrl}?search=text`);
|
|
|
|
result = buildUrl(result, 'query', 'text2');
|
|
assert.equal(result, `${baseUrl}?search=text&query=text2`);
|
|
|
|
result = buildUrl(baseUrl, {
|
|
keyName1: 'keyValue1',
|
|
keyName2: 2,
|
|
keyName3: true
|
|
});
|
|
assert.equal(result, `${baseUrl}?keyName1=keyValue1&keyName2=2&keyName3=true`);
|
|
|
|
result = buildUrl(baseUrl, {
|
|
keyName1: 0,
|
|
keyName3: undefined,
|
|
keyName4: '',
|
|
keyName5: null,
|
|
keyName2: false
|
|
});
|
|
assert.equal(result, `${baseUrl}?keyName1=0&keyName2=false`);
|
|
});
|
|
});
|