import { withLocalStorage } from "../withLocalStorage"
describe("withLocalStorage", () => {
beforeEach(() => {
delete window.localStorage
})
const callback = jest.fn()
it("runs callback function if window.localStorage exist", () => {
window.localStorage = {
setItem: jest.fn(),
removeItem: jest.fn(),
}
withLocalStorage(callback)
expect(callback).toHaveBeenCalled()
})
it("does not run callback function if window.localStorage does not exist", () => {
window.localStorage = undefined
withLocalStorage(callback)
expect(callback).not.toHaveBeenCalled()
})
})
У меня есть тестовый файл jest, который проверяет, вызывается ли функция обратного вызова в зависимости от того, существует ли window.localStorage
. Я видел в сообщении в блоге, что эти строки добавляются для восстановления winddow.localStorage
после запуска тестового файла.
const { localStorage } = window;
afterAll(() => {
window.localStorage = localStorage;
});
Требуется ли этот afterAll
оператор? Я пробовал вести журнал консоли window.localStorage
в других тестовых файлах, и window.localStorage
возвращает мне оригинал, поэтому я не уверен, зачем нужен оператор afterAll
?