57 lines
1.6 KiB
TypeScript
57 lines
1.6 KiB
TypeScript
import { describe, it, expect, beforeEach, vi } from "vitest";
|
|
import { setup } from "../../__testData__/controller-test";
|
|
import * as Misc from "../../../src/utils/misc";
|
|
|
|
const { mockApp } = setup();
|
|
describe("DevController", () => {
|
|
describe("generate testData", () => {
|
|
const isDevEnvironmentMock = vi.spyOn(Misc, "isDevEnvironment");
|
|
|
|
beforeEach(() => {
|
|
isDevEnvironmentMock.mockClear();
|
|
isDevEnvironmentMock.mockReturnValue(true);
|
|
});
|
|
|
|
it("should fail on prod", async () => {
|
|
//GIVEN
|
|
isDevEnvironmentMock.mockReturnValue(false);
|
|
//WHEN
|
|
const { body } = await mockApp
|
|
.post("/dev/generateData")
|
|
.set("Authorization", "Bearer 123456789")
|
|
.send({ username: "test" })
|
|
.expect(503);
|
|
//THEN
|
|
expect(body.message).toEqual(
|
|
"Development endpoints are only available in DEV mode.",
|
|
);
|
|
});
|
|
it("should fail without mandatory properties", async () => {
|
|
//WHEN
|
|
const { body } = await mockApp
|
|
.post("/dev/generateData")
|
|
.send({})
|
|
.expect(422);
|
|
|
|
//THEN
|
|
expect(body).toEqual({
|
|
message: "Invalid request data schema",
|
|
validationErrors: [`"username" Required`],
|
|
});
|
|
});
|
|
it("should fail with unknown properties", async () => {
|
|
//WHEN
|
|
const { body } = await mockApp
|
|
.post("/dev/generateData")
|
|
.send({ username: "Bob", extra: "value" })
|
|
.expect(422);
|
|
|
|
//THEN
|
|
expect(body).toEqual({
|
|
message: "Invalid request data schema",
|
|
validationErrors: ["Unrecognized key(s) in object: 'extra'"],
|
|
});
|
|
});
|
|
});
|
|
});
|