/** * Internal dependencies */ import { formatError } from '../errors'; describe( 'formatError', () => { const mockResponseBody = JSON.stringify( { message: 'Lorem Ipsum' } ); const mockMalformedJson = '{ "message": "Lorem Ipsum"'; test( 'should format general errors', async () => { const error = await formatError( { message: 'Lorem Ipsum', } ); const expectedError = { message: 'Lorem Ipsum', type: 'general', }; expect( error ).toEqual( expectedError ); } ); test( 'should format API errors', async () => { const mockResponse = new Response( mockResponseBody, { status: 400 } ); const error = await formatError( mockResponse ); const expectedError = { message: 'Lorem Ipsum', type: 'api', }; expect( error ).toEqual( expectedError ); } ); test( 'should format JSON parse errors', async () => { const mockResponse = new Response( mockMalformedJson, { status: 400 } ); const error = await formatError( mockResponse ); expect( error.message ).toContain( 'invalid json response body at reason:' ); expect( error.type ).toEqual( 'general' ); } ); } );