diff options
author | dan <dan.abramov@gmail.com> | 2024-04-24 23:16:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-24 23:16:11 +0100 |
commit | 90c3ec87490497605dacb158668d3f8c07f4dcdc (patch) | |
tree | 38450e397ca0b4de68968c6107451f4c30f4be2d /__tests__ | |
parent | 15055cb8c46f2b8bb09e3b7a28bbf1f8ec58fbe0 (diff) | |
download | voidsky-90c3ec87490497605dacb158668d3f8c07f4dcdc.tar.zst |
Ignore image responses on non-200 status (#3693)
* Ignore image responses on non-200 status * Fix tests
Diffstat (limited to '__tests__')
-rw-r--r-- | __tests__/lib/images.test.ts | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/__tests__/lib/images.test.ts b/__tests__/lib/images.test.ts index 38b722e2c..595f566c4 100644 --- a/__tests__/lib/images.test.ts +++ b/__tests__/lib/images.test.ts @@ -1,9 +1,10 @@ +import ImageResizer from '@bam.tech/react-native-image-resizer' +import RNFetchBlob from 'rn-fetch-blob' + import { downloadAndResize, DownloadAndResizeOpts, } from '../../src/lib/media/manip' -import ImageResizer from '@bam.tech/react-native-image-resizer' -import RNFetchBlob from 'rn-fetch-blob' describe('downloadAndResize', () => { const errorSpy = jest.spyOn(global.console, 'error') @@ -30,6 +31,7 @@ describe('downloadAndResize', () => { const mockedFetch = RNFetchBlob.fetch as jest.Mock mockedFetch.mockResolvedValueOnce({ path: jest.fn().mockReturnValue('file://downloaded-image.jpg'), + info: jest.fn().mockReturnValue({status: 200}), flush: jest.fn(), }) @@ -84,6 +86,7 @@ describe('downloadAndResize', () => { const mockedFetch = RNFetchBlob.fetch as jest.Mock mockedFetch.mockResolvedValueOnce({ path: jest.fn().mockReturnValue('file://downloaded-image'), + info: jest.fn().mockReturnValue({status: 200}), flush: jest.fn(), }) @@ -118,4 +121,26 @@ describe('downloadAndResize', () => { {mode: 'cover'}, ) }) + + it('should return undefined for non-200 response', async () => { + const mockedFetch = RNFetchBlob.fetch as jest.Mock + mockedFetch.mockResolvedValueOnce({ + path: jest.fn().mockReturnValue('file://downloaded-image'), + info: jest.fn().mockReturnValue({status: 400}), + flush: jest.fn(), + }) + + const opts: DownloadAndResizeOpts = { + uri: 'https://example.com/image', + width: 100, + height: 100, + maxSize: 500000, + mode: 'cover', + timeout: 10000, + } + + const result = await downloadAndResize(opts) + expect(errorSpy).not.toHaveBeenCalled() + expect(result).toBeUndefined() + }) }) |