Skip to content

Commit

Permalink
GraphQLError-test: text how extensions is inherited from originalError (
Browse files Browse the repository at this point in the history
  • Loading branch information
IvanGoncharov committed Nov 1, 2021
1 parent 10c1c3d commit 958ac6c
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions src/error/__tests__/GraphQLError-test.ts
Expand Up @@ -144,6 +144,66 @@ describe('GraphQLError', () => {
});
});

it('defaults to original error extension only if extensions argument is not passed', () => {
class ErrorWithExtensions extends Error {
extensions: unknown;

constructor(message: string) {
super(message);
this.extensions = { original: 'extensions' };
}
}

const original = new ErrorWithExtensions('original');
const inheritedExtensions = new GraphQLError(
'InheritedExtensions',
undefined,
undefined,
undefined,
undefined,
original,
undefined,
);

expect(inheritedExtensions).to.deep.include({
message: 'InheritedExtensions',
originalError: original,
extensions: { original: 'extensions' },
});

const ownExtensions = new GraphQLError(
'OwnExtensions',
undefined,
undefined,
undefined,
undefined,
original,
{ own: 'extensions' },
);

expect(ownExtensions).to.deep.include({
message: 'OwnExtensions',
originalError: original,
extensions: { own: 'extensions' },
});

const ownEmptyExtensions = new GraphQLError(
'OwnEmptyExtensions',
undefined,
undefined,
undefined,
undefined,
original,
{},
);

expect(ownEmptyExtensions).to.deep.include({
message: 'OwnEmptyExtensions',
originalError: original,
extensions: {},
});
});

it('serializes to include all standard fields', () => {
const eShort = new GraphQLError('msg');
expect(JSON.stringify(eShort, null, 2)).to.equal(dedent`
Expand Down

0 comments on commit 958ac6c

Please sign in to comment.