Skip to content

Commit

Permalink
[issue-#324-execute-middleware-for-static-assets] add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
crookse committed Jul 18, 2020
1 parent 5b2c77e commit af69f87
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions tests/unit/http/middleware_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,36 @@ Rhum.testPlan("http/middleware_test.ts", () => {
const response = await server.handleHttpRequest(request);
members.assertResponseJsonEquals(members.responseBody(response), "got");
});

Rhum.testCase("before_request: static path asset", async () => {
let server = new Drash.Http.Server({
static_paths: ["/assets"],
middleware: {
before_request: [BeforeRequestStaticPathAsset],
},
});
const request = members.mockRequest("/assets/test.js", "get");
const response = await server.handleHttpRequest(request);
members.assertResponseJsonEquals(
members.responseBody(response),
"Hello, I'm a static path asset before request middleware.",
);
});

Rhum.testCase("after_request: static path asset", async () => {
let server = new Drash.Http.Server({
static_paths: ["/assets"],
middleware: {
after_request: [AfterRequestStaticPathAsset],
},
});
const request = members.mockRequest("/assets/test.js", "get");
const response = await server.handleHttpRequest(request);
members.assertResponseJsonEquals(
members.responseBody(response),
"this static path asset's contents got changed",
);
});
});
});

Expand Down Expand Up @@ -218,3 +248,19 @@ function VerifyCsrfToken(req: Drash.Http.Request) {
);
}
}

function BeforeRequestStaticPathAsset(req: Drash.Http.Request) {
throw new Drash.Exceptions.HttpException(
418,
"Hello, I'm a static path asset before request middleware.",
);
}

function AfterRequestStaticPathAsset(
req: Drash.Http.Request,
res?: Drash.Http.Response,
) {
if (res) {
res.body = "this static path asset's contents got changed";
}
}

0 comments on commit af69f87

Please sign in to comment.