mirror of
https://github.com/empayre/fleet.git
synced 2024-11-06 17:05:18 +00:00
109 lines
2.5 KiB
JavaScript
109 lines
2.5 KiB
JavaScript
// used for babel polyfills.
|
|
import "core-js/stable";
|
|
import "regenerator-runtime/runtime";
|
|
|
|
import { configure } from "enzyme";
|
|
import Adapter from "enzyme-adapter-react-16";
|
|
import nock from "nock";
|
|
|
|
// for testing-library utils
|
|
import "@testing-library/jest-dom";
|
|
|
|
// Uncomment for verbose unhandled promise rejection warnings
|
|
// process.on('unhandledRejection', (reason) => {
|
|
// console.error('REJECTION', reason);
|
|
// });
|
|
|
|
nock.disableNetConnect();
|
|
|
|
nock.emitter.on("no match", (req) => {
|
|
console.log("NOCK NO MATCH ", req);
|
|
});
|
|
|
|
// nock.emitter.on('request', (req, interceptor) => {
|
|
// console.error('interceptor matched request: ', req, interceptor)
|
|
// });
|
|
// nock.emitter.on('replied', (req, interceptor) => {
|
|
// console.error('response replied with nocked payload', req, interceptor)
|
|
// });
|
|
|
|
// Many tests will output unhandled promise rejection warnings if this is not
|
|
// included to mock the common HTTP request.
|
|
|
|
nock("http://localhost:8080")
|
|
.persist()
|
|
.post("/api/v1/fleet/targets")
|
|
.reply(200, {
|
|
targets_count: 1234,
|
|
targets: [
|
|
{
|
|
id: 3,
|
|
label: "OS X El Capitan 10.11",
|
|
name: "osx-10.11",
|
|
platform: "darwin",
|
|
target_type: "hosts",
|
|
},
|
|
],
|
|
});
|
|
|
|
nock("http://localhost:8080")
|
|
.persist()
|
|
.get("/api/v1/fleet/status/live_query")
|
|
.reply(200, {});
|
|
|
|
nock("http://localhost:8080")
|
|
.persist()
|
|
.get("/api/v1/fleet/version")
|
|
.reply(200, {
|
|
version: "3.10.0",
|
|
branch: "master",
|
|
revision: "83d608962af583375bc20c644c5ac4b00b408461",
|
|
go_version: "go1.16.2",
|
|
build_date: "2021-03-31T20:05:51Z",
|
|
build_user: "zwass",
|
|
});
|
|
|
|
configure({ adapter: new Adapter() });
|
|
|
|
global.document.queryCommandEnabled = jest.fn();
|
|
global.document.execCommand = jest.fn();
|
|
global.window.getSelection = () => {
|
|
return {
|
|
removeAllRanges: () => {
|
|
return true;
|
|
},
|
|
};
|
|
};
|
|
global.window.scrollTo = jest.fn();
|
|
global.window.URL = new URL("http://localhost:8080");
|
|
global.navigator = global.window.navigator;
|
|
window.URL.createObjectURL = () => undefined;
|
|
|
|
function mockStorage() {
|
|
let storage = {};
|
|
|
|
return {
|
|
setItem(key, value = "") {
|
|
storage[key] = value;
|
|
},
|
|
getItem(key) {
|
|
return storage[key];
|
|
},
|
|
removeItem(key) {
|
|
delete storage[key];
|
|
},
|
|
get length() {
|
|
return Object.keys(storage).length;
|
|
},
|
|
key(i) {
|
|
return Object.keys(storage)[i] || null;
|
|
},
|
|
clear() {
|
|
storage = {};
|
|
},
|
|
};
|
|
}
|
|
|
|
global.localStorage = mockStorage();
|
|
window.localStorage = global.localStorage;
|