UNPKG

@toptal/davinci-cloudflare-requests-handler

Version:
86 lines (57 loc) 2.1 kB
import * as localStorage from '../utils/local-storage' import { getNumberOfRetries, getLastRetryDate } from './retries' describe('getNumberOfRetries', () => { let getLocalStorageItemSpy: jest.SpyInstance<string | null, [key: string]> beforeEach(() => { getLocalStorageItemSpy = jest.spyOn(localStorage, 'getItem') }) afterEach(() => { jest.restoreAllMocks() }) it('returns 0 if value was not found in localStorage', () => { getLocalStorageItemSpy.mockReturnValueOnce(null) const result = getNumberOfRetries() expect(result).toBe(0) }) it('returns 0 if value is 0', () => { getLocalStorageItemSpy.mockReturnValueOnce('0') const result = getNumberOfRetries() expect(result).toBe(0) }) it('returns number value if value is defined', () => { getLocalStorageItemSpy.mockReturnValueOnce('6') const result = getNumberOfRetries() expect(result).toBe(6) }) it('returns 0 value if value is not a number', () => { getLocalStorageItemSpy.mockReturnValueOnce('aaabbb') const result = getNumberOfRetries() expect(result).toBe(0) }) }) describe('getLastRetryDate', () => { const minDate = new Date(0) let getLocalStorageItemSpy: jest.SpyInstance<string | null, [key: string]> beforeEach(() => { getLocalStorageItemSpy = jest.spyOn(localStorage, 'getItem') }) afterEach(() => { jest.restoreAllMocks() }) it('returns min date if value was not found in localStorage', () => { getLocalStorageItemSpy.mockReturnValueOnce(null) const result = getLastRetryDate() expect(result?.getTime()).toBe(minDate.getTime()) }) it('returns date value if value is defined', () => { const currentDate = Date.now() getLocalStorageItemSpy.mockReturnValueOnce(String(currentDate)) const result = getLastRetryDate() expect(result?.getTime()).toBe(currentDate) }) it('returns 0 value if value is not a number', () => { getLocalStorageItemSpy.mockReturnValueOnce('aaabbb') const result = getLastRetryDate() expect(result?.getTime()).toBe(minDate.getTime()) }) })