f50438e76f
* ui: Split up client/http and replace $.ajax This splits the client/http service more in the following ways: 1. Connections are now split out into its own service 2. The transport is now split out into its own service that returns a listener based http transport 3. Various string parsing/stringifying functions are now split out into utils * Remove jQuery from our production build * Move the coverage serving to the server.js file * Self review amends * Add X-Requested-With header * Move some files around, externalize some functions * Move connection tracking to use native Set * Ensure HTTP parsing doesn't encode headers In the future this will change to deal with all HTTP parsing in one place, hence the commented out METHOD_PARSING etc * Start to fix up integration tests to use requestParams
44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
import createQueryParams from 'consul-ui/utils/http/create-query-params';
|
|
import { module, test } from 'qunit';
|
|
|
|
module('Unit | Utility | http/create-query-params', function() {
|
|
const stringifyQueryParams = createQueryParams(str => str);
|
|
test('it turns objects into query params formatted strings', function(assert) {
|
|
const expected = 'something=here&another=variable';
|
|
const actual = stringifyQueryParams({
|
|
something: 'here',
|
|
another: 'variable',
|
|
});
|
|
assert.equal(actual, expected);
|
|
});
|
|
test('it ignores undefined properties', function(assert) {
|
|
const expected = 'something=here';
|
|
const actual = stringifyQueryParams({
|
|
something: 'here',
|
|
another: undefined,
|
|
});
|
|
assert.equal(actual, expected);
|
|
});
|
|
test('it stringifies nested objects', function(assert) {
|
|
const expected = 'something=here&another[something]=here&another[another][something]=here';
|
|
const actual = stringifyQueryParams({
|
|
something: 'here',
|
|
another: {
|
|
something: 'here',
|
|
another: {
|
|
something: 'here',
|
|
},
|
|
},
|
|
});
|
|
assert.equal(actual, expected);
|
|
});
|
|
test('it only adds the property if the value is null', function(assert) {
|
|
const expected = 'something&another=here';
|
|
const actual = stringifyQueryParams({
|
|
something: null,
|
|
another: 'here',
|
|
});
|
|
assert.equal(actual, expected);
|
|
});
|
|
});
|