mirror of
https://github.com/status-im/consul.git
synced 2025-01-11 14:24:39 +00:00
7bb35c4c78
ui: Repo layer integration tests for methods that touch the API Includes a `repo` test helper to make repetitive tasks easier, plus a injectable reporter for sending performance metrics to a centralized metrics system Also noticed somewhere in the ember models that I'd like to improve, but left for the moment to make sure I concentrate on one task at a time, more or less: The tests currently asserts against the existing JSON tree, which doesn't seem to be a very nice tree. The work at hand here is to refactor what is there, so test for the not nice tree to ensure we don't get any regression, and add a skipped test so I can come back here later
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
import getAPI from '@hashicorp/ember-cli-api-double';
|
|
import setCookies from 'consul-ui/tests/helpers/set-cookies';
|
|
import typeToURL from 'consul-ui/tests/helpers/type-to-url';
|
|
import config from 'consul-ui/config/environment';
|
|
const apiConfig = config['ember-cli-api-double'];
|
|
let path = '/consul-api-double';
|
|
let reader;
|
|
if (apiConfig) {
|
|
const temp = apiConfig.endpoints[0].split('/');
|
|
reader = apiConfig.reader;
|
|
temp.pop();
|
|
path = temp.join('/');
|
|
}
|
|
const api = getAPI(path, setCookies, typeToURL, reader);
|
|
export const get = function(_url, options = { headers: { cookie: {} } }) {
|
|
const url = new URL(_url, 'http://localhost');
|
|
return new Promise(function(resolve) {
|
|
return api.api.serve(
|
|
{
|
|
method: 'GET',
|
|
path: url.pathname,
|
|
url: url.href,
|
|
cookies: options.headers.cookie || {},
|
|
query: [...url.searchParams.keys()].reduce(function(prev, key) {
|
|
prev[key] = url.searchParams.get(key);
|
|
return prev;
|
|
}, {}),
|
|
},
|
|
{
|
|
set: function() {},
|
|
send: function(content) {
|
|
resolve(JSON.parse(content));
|
|
},
|
|
},
|
|
function() {}
|
|
);
|
|
});
|
|
};
|
|
export default api;
|