Notes/apps/server/spec/etapi/get-date-notes.spec.ts

104 lines
3.4 KiB
TypeScript
Raw Normal View History

2025-06-03 19:32:17 +03:00
import { beforeAll, describe, expect, it } from "vitest";
import config from "../../src/services/config.js";
import { login } from "./utils.js";
import { Application } from "express";
import supertest from "supertest";
2025-06-03 20:16:39 +03:00
import date_notes from "../../src/services/date_notes.js";
import cls from "../../src/services/cls.js";
2025-06-03 19:32:17 +03:00
let app: Application;
let token: string;
const USER = "etapi";
describe("etapi/get-date-notes", () => {
beforeAll(async () => {
config.General.noAuthentication = false;
const buildApp = (await (import("../../src/app.js"))).default;
app = await buildApp();
token = await login(app);
});
it("obtains inbox", async () => {
await supertest(app)
.get("/etapi/inbox/2022-01-01")
.auth(USER, token, { "type": "basic"})
.expect(200);
});
describe("days", () => {
it("obtains day from calendar", async () => {
await supertest(app)
.get("/etapi/calendar/days/2022-01-01")
.auth(USER, token, { "type": "basic"})
.expect(200);
});
it("detects invalid date", async () => {
const response = await supertest(app)
.get("/etapi/calendar/days/2022-1")
.auth(USER, token, { "type": "basic"})
.expect(400);
expect(response.body.code).toStrictEqual("DATE_INVALID");
});
});
describe("weeks", () => {
2025-06-03 20:16:39 +03:00
beforeAll(() => {
cls.init(() => {
const rootCalendarNote = date_notes.getRootCalendarNote();
rootCalendarNote.setLabel("enableWeekNote");
});
});
2025-06-03 19:32:17 +03:00
it("obtains week calendar", async () => {
await supertest(app)
2025-06-03 20:16:39 +03:00
.get("/etapi/calendar/weeks/2022-W01")
2025-06-03 19:32:17 +03:00
.auth(USER, token, { "type": "basic"})
.expect(200);
});
it("detects invalid date", async () => {
const response = await supertest(app)
.get("/etapi/calendar/weeks/2022-1")
.auth(USER, token, { "type": "basic"})
.expect(400);
2025-06-03 20:16:39 +03:00
expect(response.body.code).toStrictEqual("WEEK_INVALID");
2025-06-03 19:32:17 +03:00
});
});
describe("months", () => {
it("obtains month calendar", async () => {
await supertest(app)
2025-06-03 20:16:39 +03:00
.get("/etapi/calendar/months/2022-01")
2025-06-03 19:32:17 +03:00
.auth(USER, token, { "type": "basic"})
.expect(200);
});
it("detects invalid month", async () => {
const response = await supertest(app)
.get("/etapi/calendar/months/2022-1")
.auth(USER, token, { "type": "basic"})
.expect(400);
expect(response.body.code).toStrictEqual("MONTH_INVALID");
});
});
describe("years", () => {
it("obtains year calendar", async () => {
await supertest(app)
.get("/etapi/calendar/years/2022")
.auth(USER, token, { "type": "basic"})
.expect(200);
});
it("detects invalid year", async () => {
const response = await supertest(app)
.get("/etapi/calendar/years/202")
.auth(USER, token, { "type": "basic"})
.expect(400);
expect(response.body.code).toStrictEqual("YEAR_INVALID");
});
});
});