swagger-express-middleware icon indicating copy to clipboard operation
swagger-express-middleware copied to clipboard

If a name property is inherited, getResourceNameByName will fail

Open tschaible opened this issue 8 years ago • 1 comments

If a name property is inherited (for example, id is inherited from a parent type) then the lookup that attempts to identify the name of the resource fails with the following:

TypeError: Cannot read property 'id' of undefined
    at ./node_modules/swagger-express-middleware/lib/mock/edit-collection.js:226:28
    at Array.some (native)
    at getResourceNameByName (./node_modules/swagger-express-middleware/lib/mock/edit-collection.js:219:35)
    at getResourceName (./node_modules/swagger-express-middleware/lib/mock/edit-collection.js:150:9)
    at createResources (./node_modules/swagger-express-middleware/lib/mock/edit-collection.js:115:20)
    at mergeCollection (./node_modules/swagger-express-middleware/lib/mock/edit-collection.js:36:19)
    at mockImplementation (./node_modules/swagger-express-middleware/lib/mock/index.js:125:7)
    at Layer.handle [as handle_request] (./node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (./node_modules/express/lib/router/index.js:312:13)
    at ./node_modules/express/lib/router/index.js:280:7

as it attempts to find id directly in the property list, however, the id is listed via a nested reference.

tschaible avatar May 14 '16 02:05 tschaible

I have the same problem

benz-sc avatar Feb 15 '17 11:02 benz-sc