From f33cf5779f7a61125e41aea600597a5439fb0dc6 Mon Sep 17 00:00:00 2001 From: Mario Pareja Date: Thu, 4 Jul 2019 21:49:05 -0400 Subject: [PATCH] exclude inner field if no inner error provided The undefined inner field can result in bogus assertion failures when writing tests using this error-strategy. --- index.js | 4 +++- test/grpc-error-strategy.test.js | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 9e28f64..678e3dc 100644 --- a/index.js +++ b/index.js @@ -20,7 +20,9 @@ for (let { type, code } of errors) { module.exports[type] = (msg, inner) => { const error = new Error(msg) error.code = code - error.inner = inner + if (inner) { + error.inner = inner + } return error } } diff --git a/test/grpc-error-strategy.test.js b/test/grpc-error-strategy.test.js index b580d10..21357a1 100644 --- a/test/grpc-error-strategy.test.js +++ b/test/grpc-error-strategy.test.js @@ -84,5 +84,10 @@ function testError ({ type, code }) { const error = GrpcErrorStrategy[type](A_DESCRIPTION, inner) expect(error.inner).toBe(inner) }) + + it('excludes inner key if none provider', () => { + const error = GrpcErrorStrategy[type](A_DESCRIPTION) + expect(error).not.toHaveProperty('inner') + }) }) }