1 | const jestEnvironmentJSDOMGlobal = require("../environment.js");
|
2 |
|
3 | const mockDom = {
|
4 | window: {}
|
5 | };
|
6 |
|
7 | jest.mock(
|
8 | "jest-environment-jsdom",
|
9 | () =>
|
10 | class {
|
11 | constructor(config) {
|
12 | this.dom = mockDom;
|
13 | this.global = {};
|
14 | }
|
15 |
|
16 | teardown() {
|
17 | return Promise.resolve();
|
18 | }
|
19 | }
|
20 | );
|
21 |
|
22 | describe("in isolation", () => {
|
23 | it("should set jsdom on its global object", () => {
|
24 | const environment = new jestEnvironmentJSDOMGlobal();
|
25 |
|
26 | expect(environment.global.jsdom).toBe(mockDom);
|
27 | });
|
28 |
|
29 | it("should remove jsdom on teardown", () => {
|
30 | const environment = new jestEnvironmentJSDOMGlobal();
|
31 |
|
32 | environment.teardown();
|
33 |
|
34 | expect(environment.global.jsdom).toBe(null);
|
35 | });
|
36 | });
|
37 |
|
38 | describe("e2e", () => {
|
39 | it("should set url successfully", () => {
|
40 | const testHostname = "www.notadomain.org";
|
41 |
|
42 | jsdom.reconfigure({
|
43 | url: `https://${testHostname}`
|
44 | });
|
45 |
|
46 | expect(window.location.hostname).toBe(testHostname);
|
47 | });
|
48 | });
|