UNPKG

tips-twisted

Version:
50 lines (43 loc) 1.49 kB
import * as httpStatusCode from 'http-status-codes' import { ThirdPartyCode } from '../../../src/apis/lol/thirdPartyCode/thirdPartyCode' import { Regions } from '../../../src/constants' describe('Third Party code', () => { const request = jest.fn() const testId = 'id' const testRegion = Regions.AMERICA_NORTH beforeEach(() => { (ThirdPartyCode.prototype as any).request = request }) afterEach(() => { request.mockClear() }) it('should return valid code', async () => { const code = 'ORIGENGG' request.mockImplementation(() => ({ response: code })) const api = new ThirdPartyCode() const data = await api.get(testId, testRegion) expect(data.response.code).toEqual(code) }) it('should return null when an error is 500', async () => { // Mock error 500 request.mockImplementation(() => { const error: any = new Error() error.statusCode = httpStatusCode.INTERNAL_SERVER_ERROR throw error }) const api = new ThirdPartyCode() const data = await api.get(testId, testRegion) expect(data.response.code).toEqual(null) }) it('should return null when an error is 404', async () => { // Mock error 404 request.mockImplementation(() => { const error: any = new Error() error.statusCode = httpStatusCode.NOT_FOUND throw error }) const api = new ThirdPartyCode() const data = await api.get(testId, testRegion) expect(data.response.code).toEqual(null) }) })