mirror of
https://github.com/ansible/awx.git
synced 2026-01-14 03:10:42 -03:30
* working: rename OrganizationTeamsList to PaginatedDataList * convert org notifications list fully to PaginatedDataList * update NotificationList tests * refactor org access to use PaginatedDataList * update tests for org access refactor; fix pagination & sorting * restore Add Role functionality to Org roles * fix displayed text when list of items is empty * preserve query params when navigating through pagination * fix bugs after RBAC rebase * fix lint errors, fix add org access button
50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
import { encodeQueryString, parseQueryString } from '../../src/util/qs';
|
|
|
|
describe('qs (qs.js)', () => {
|
|
test('encodeQueryString returns the expected queryString', () => {
|
|
[
|
|
[null, ''],
|
|
[{}, ''],
|
|
[{ order_by: 'name', page: 1, page_size: 5 }, 'order_by=name&page=1&page_size=5'],
|
|
[{ '-order_by': 'name', page: '1', page_size: 5 }, '-order_by=name&page=1&page_size=5'],
|
|
]
|
|
.forEach(([params, expectedQueryString]) => {
|
|
const actualQueryString = encodeQueryString(params);
|
|
|
|
expect(actualQueryString).toEqual(expectedQueryString);
|
|
});
|
|
});
|
|
|
|
test('encodeQueryString omits null values', () => {
|
|
const vals = {
|
|
order_by: 'name',
|
|
page: null,
|
|
};
|
|
expect(encodeQueryString(vals)).toEqual('order_by=name');
|
|
});
|
|
|
|
test('parseQueryString returns the expected queryParams', () => {
|
|
[
|
|
['order_by=name&page=1&page_size=5', ['page', 'page_size'], { order_by: 'name', page: 1, page_size: 5 }],
|
|
['order_by=name&page=1&page_size=5', ['page_size'], { order_by: 'name', page: '1', page_size: 5 }],
|
|
]
|
|
.forEach(([queryString, integerFields, expectedQueryParams]) => {
|
|
const actualQueryParams = parseQueryString(queryString, integerFields);
|
|
|
|
expect(actualQueryParams).toEqual(expectedQueryParams);
|
|
});
|
|
});
|
|
|
|
test('parseQueryString should strip leading "?"', () => {
|
|
expect(parseQueryString('?foo=bar&order_by=win')).toEqual({
|
|
foo: 'bar',
|
|
order_by: 'win',
|
|
});
|
|
|
|
expect(parseQueryString('foo=bar&order_by=?win')).toEqual({
|
|
foo: 'bar',
|
|
order_by: '?win',
|
|
});
|
|
});
|
|
});
|