diff --git a/packages/contract-cli/package.json b/packages/contract-cli/package.json index 0d66842bc7ca8dbbe65d8e134fa6e608cba9897c..ab8951e094664033af8322d97ee0d383e557a700 100755 --- a/packages/contract-cli/package.json +++ b/packages/contract-cli/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-contract", - "version": "1.7.18", + "version": "1.7.19", "description": "JS API / command line tool to generate the contract.json for jsonql", "main": "index.js", "files": [ diff --git a/packages/contract-cli/src/ast/jsdoc.js b/packages/contract-cli/src/ast/jsdoc.js index 8452614afbd410c6ee35fee42ee7b9529f78aa6c..068b66ffcf0b34e53e24a6227a9f7a57c987451c 100644 --- a/packages/contract-cli/src/ast/jsdoc.js +++ b/packages/contract-cli/src/ast/jsdoc.js @@ -146,7 +146,7 @@ const processParams = function(params) { * @return {*} false on nothing */ const getParams = res => ( - res.params ? ( foldParams( processParams(res.params) ) || false ) + !!res.params ? ( foldParams( processParams(res.params) ) || false ) : ( res.undocumented ? false : [] ) ) @@ -171,14 +171,15 @@ const search = function(output, name = '') { debug(`----------------${resolverName}---------------------`) debug('res.meta', detailOut(res.meta)) - debug('res.params', detailOut(res.params), res.params) + debug('res.params', detailOut(res.params)) + debug('res.returns', detailOut(res.returns)) return { name: resolverName, description: res.description || false, - // @BUG The strange bug happens here, it should not call the processed but still calling it??? params: getParams(res), - returns: processParams(res.returns) || false + // @BUG The strange bug happens here, it should not call the processed but still calling it??? + returns: processParams(res.returns) } }).reduce((first, next) => { return next || false diff --git a/packages/resolver/package.json b/packages/resolver/package.json index 6d088c06974d87b3ead0800598fcf0f36fe0e0d9..fadea0938e8570d28af3d6434729b111923bf21c 100644 --- a/packages/resolver/package.json +++ b/packages/resolver/package.json @@ -10,6 +10,7 @@ "scripts": { "test": "ava --verbose", "test:clients": "DEBUG=jsonql* ava --verbose ./tests/clients.test.js", + "test:throw": "DEBUG=jsonql* ava --verbose ./tests/throw.test.js", "contract": "DEBUG=jsonql-contract* jsonql-contract create ./tests/fixtures/resolvers ./tests/fixtures/contract" }, "keywords": [ @@ -34,7 +35,7 @@ }, "devDependencies": { "ava": "^2.4.0", - "jsonql-contract": "^1.7.16", + "jsonql-contract": "^1.7.18", "jsonql-koa": "^1.3.9", "server-io-core": "^1.2.0" }, diff --git a/packages/resolver/tests/throw.test.js b/packages/resolver/tests/throw.test.js index 7d52b6a63d277585439fdf692bf6a49c21d16edc..9d4bf285130da1d77d7e587faae3bf0477fce25a 100644 --- a/packages/resolver/tests/throw.test.js +++ b/packages/resolver/tests/throw.test.js @@ -18,6 +18,11 @@ test.before(async t => { }) -test.skip(`When resolver throw error, it should able to throw back a JsonqlResolverAppError`, async t => { +test(`When resolver throw error, it should able to throw back a JsonqlResolverAppError`, async t => { + const res = {} + + t.false(!!res.params) + + t.false(Array.isArray(res.params)) })