• File: errors.js
  • Full Path: /home/chassiw/www/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/js/base/utils/test/errors.js
  • File size: 938 bytes
  • MIME-type: text/plain
  • Charset: utf-8
/**
 * Internal dependencies
 */
import { formatError } from '../errors';

describe( 'formatError', () => {
	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 error = await formatError( {
			json: () => Promise.resolve( { message: 'Lorem Ipsum' } ),
		} );
		const expectedError = {
			message: 'Lorem Ipsum',
			type: 'api',
		};

		expect( error ).toEqual( expectedError );
	} );

	test( 'should format JSON parse errors', async () => {
		const error = await formatError( {
			json: () => Promise.reject( { message: 'Lorem Ipsum' } ),
		} );
		const expectedError = {
			message: 'Lorem Ipsum',
			type: 'general',
		};

		expect( error ).toEqual( expectedError );
	} );
} );