@nodecg/types
Version:
Dynamic broadcast graphics rendered in a browser
46 lines (38 loc) • 998 B
text/typescript
import path from "node:path";
import { afterEach, expect, test } from "vitest";
import { getMockRes } from "vitest-mock-express";
import { sendFile } from ".";
const { res, next, mockClear } = getMockRes();
afterEach(() => {
mockClear();
});
test("success", () => {
sendFile(
path.join(__dirname, "fixtures"),
path.join(__dirname, "fixtures/foo/bar/hoge"),
res,
next,
);
expect(res.sendFile).toHaveBeenCalledWith(
path.join(__dirname, "fixtures/foo/bar/hoge"),
expect.any(Function),
);
});
test("should return 404 when trying to traverse out of the directory", () => {
sendFile(
path.join(__dirname, "fixtures/foo/bar"),
path.join(__dirname, "fixtures/foo/bar2"),
res,
next,
);
expect(res.sendStatus).toHaveBeenCalledWith(404);
});
test("should return 404 for non-existing file", () => {
sendFile(
path.join(__dirname, "fixtures/foo/bar"),
path.join(__dirname, "fixtures/foo/aaaaa"),
res,
next,
);
expect(res.sendStatus).toHaveBeenCalledWith(404);
});