Skip to content

Commit f9b383d

Browse files
fix: callback middlewares do not support validations
1 parent 936ee45 commit f9b383d

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

lib/fixtureGenerator.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,13 @@ const createFixture = async (serviceManager) => {
1717
stop: () => {},
1818
middlewares: _.mapValues(middlewares, (service) =>
1919
_.mapValues(service, (method) => {
20-
let methodStub;
21-
2220
if (method.callback) {
23-
methodStub = sinon.stub().returns(sinon.stub().callsArg(2));
24-
methodStub.callback = true;
25-
} else {
26-
methodStub = sinon.stub().callsArg(2);
21+
const callbackStub = sinon.stub().returns(sinon.stub().callsArg(2));
22+
callbackStub.callback = true;
23+
return callbackStub;
2724
}
2825

26+
const methodStub = sinon.stub().callsArg(2);
2927
methodStub.validations = _.mapValues(method.validations, () => sinon.stub().callsArg(2));
3028

3129
return [...Object.values(methodStub.validations), methodStub];
@@ -84,7 +82,8 @@ const checkFixture = (fixture, expected) => {
8482
if (!(service in expected.middlewares)) expected.middlewares[service] = {};
8583
Object.keys(middlewares[service]).forEach((method) => {
8684
const expressMiddlewares = middlewares[service][method];
87-
const middlewareMethod = expressMiddlewares[expressMiddlewares.length - 1];
85+
// if no length -> callback middleware -> it's not an array
86+
const middlewareMethod = expressMiddlewares.length ? expressMiddlewares[expressMiddlewares.length - 1] : expressMiddlewares;
8887

8988
if (middlewareMethod.validations) {
9089
if (!validations.middlewares[service]) validations.middlewares[service] = {};

0 commit comments

Comments
 (0)