UNPKG

@appello/services

Version:

Services package with api / graphql

53 lines (52 loc) 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const graphql_1 = require("graphql"); const consts_1 = require("../../consts"); const createProcessGqlErrorResponse_1 = require("./createProcessGqlErrorResponse"); test('is working correctly', async () => { let nonFieldError; let unhandledFieldErrors; let unknownError; const handledErrors = {}; const processGqlErrorResponse = (0, createProcessGqlErrorResponse_1.createProcessGqlErrorResponse)({ onNonFieldError: message => { nonFieldError = message; }, onUnhandledFieldErrors: errors => { unhandledFieldErrors = errors; }, onUnknownError: message => { unknownError = message; }, }); const nameErrorMessage = 'Name is required'; const emailErrorMessage = 'Email is required'; const gqlError = { graphQLErrors: [ new graphql_1.GraphQLError('Failed', { extensions: { code: consts_1.GqlErrorCodeEnum.UNPROCESSABLE_ENTITY, explain: { name: nameErrorMessage, user: { email: emailErrorMessage, }, }, }, }), ], }; processGqlErrorResponse(gqlError, { fields: ['name', 'user.email'], setFieldError: (name, message) => { handledErrors[name] = message; }, }); expect(handledErrors).toMatchObject({ name: nameErrorMessage, 'user.email': emailErrorMessage, }); expect(nonFieldError).toBeUndefined(); expect(unhandledFieldErrors).toBeUndefined(); expect(unknownError).toBeUndefined(); });