Archived
1
0

Fix helpers not working in e2e tests

It errors that jest is not defined so put it behind a function instead
of immediately creating the mock (this is probably a better pattern
anyway).

The constant tests had to be reworked a little. Since the logger mock is
hoisted it runs before createLoggerMock is imported. I moved it into a
beforeAll which means the require call also needed to be moved
there (since we need to mock the logger before requiring the constants
or it'll pull the non-mocked logger).

This means getPackageJson needs to be a let and assigned afterward. To
avoid having to define a type for getPackageJson I just added a let var
set to the type of the imported constants file and modified the other
areas to use the same paradigm.

I also replaced some hardcoded strings with the mocked package.json
object.
This commit is contained in:
Asher
2021-05-06 11:25:29 -05:00
parent ad4a70c684
commit e8443e2602
4 changed files with 40 additions and 44 deletions

View File

@ -1,6 +1,6 @@
import { JSDOM } from "jsdom"
import { registerServiceWorker } from "../../src/browser/register"
import { loggerModule } from "../utils/helpers"
import { createLoggerMock } from "../utils/helpers"
import { LocationLike } from "./util.test"
describe("register", () => {
@ -21,6 +21,7 @@ describe("register", () => {
})
})
const loggerModule = createLoggerMock()
beforeEach(() => {
jest.clearAllMocks()
jest.mock("@coder/logger", () => loggerModule)
@ -75,6 +76,7 @@ describe("register", () => {
})
describe("when navigator and serviceWorker are NOT defined", () => {
const loggerModule = createLoggerMock()
beforeEach(() => {
jest.clearAllMocks()
jest.mock("@coder/logger", () => loggerModule)