Merge pull request #3714 from cdr/jsjoeio-add-login-test

feat(test): check login.ts when base missing
This commit is contained in:
Joe Previte 2021-07-02 15:14:18 -07:00 committed by GitHub
commit d29391ae75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -42,4 +42,49 @@ describe("login", () => {
expect(el?.value).toBe("/hello-world")
})
})
describe("there is not an element with id 'base'", () => {
let spy: jest.SpyInstance
beforeAll(() => {
// This is important because we're manually requiring the file
// If you don't call this before all tests
// the module registry from other tests may cause side effects.
jest.resetModuleRegistry()
})
beforeEach(() => {
const dom = new JSDOM()
global.document = dom.window.document
spy = jest.spyOn(document, "getElementById")
const location: LocationLike = {
pathname: "/healthz",
origin: "http://localhost:8080",
}
global.location = location as Location
})
afterEach(() => {
spy.mockClear()
jest.resetModules()
// Reset the global.document
global.document = undefined as any as Document
global.location = undefined as any as Location
})
afterAll(() => {
jest.restoreAllMocks()
})
it("should do nothing", () => {
spy.mockImplementation(() => null)
// Load file
require("../../../src/browser/pages/login")
// It's called once by getOptions in the top of the file
// and then another to get the base element
expect(spy).toHaveBeenCalledTimes(2)
})
})
})