Merge pull request #3714 from cdr/jsjoeio-add-login-test
feat(test): check login.ts when base missing
This commit is contained in:
commit
d29391ae75
|
@ -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)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue