fleet/frontend/test/envSetup.js
2021-04-14 17:52:15 +01:00

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;