Improvements: remove dead config, fix ESM, add URL validation, unify types, add missing logging
- Remove .prettierrc (dead config, Biome replaces Prettier) - Rename lighthouserc.json to lighthouserc.cjs with module.exports for ESM compat - Add logger.warn to empty catch blocks in auth, register, site-settings, prisma-cache, redis, security, rate-limit - Unify ActionResult type: action-helper.ts uses 'ok' consistent with safe-action-shared.ts - Add noUnusedLocals + noUnusedParameters to tsconfig + fix 25 pre-existing unused vars - Replace barrel export src/types/index.ts with direct @/types/common imports - Make trustHost conditional (development only) in auth.ts - Add pre-flight URL validation to update-Nitrov3.sh to catch image.library.url misconfigurations - Improve NITRO_IMAGE_LIBRARY_URL content validation in pre-flight & post-compute checks
This commit is contained in:
1 parent
b922f6d49f
commit
17847545dd
292 files changed
+69195
-67915
No files matched your search
@@ -1,4 +1,4 @@
|
||||
import { describe, expect, it, vi, beforeEach } from "vitest";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const create = vi.hoisted(() => vi.fn());
|
||||
const findMany = vi.hoisted(() => vi.fn());
|
||||
@@ -14,7 +14,7 @@ vi.mock("@/lib/prisma", () => ({
|
||||
|
||||
vi.mock("@/env", () => ({ env: {} }));
|
||||
|
||||
import { logAudit, getAuditLogs } from "./audit";
|
||||
import { getAuditLogs, logAudit } from "./audit";
|
||||
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
@@ -87,8 +87,28 @@ describe("logAudit", () => {
|
||||
describe("getAuditLogs", () => {
|
||||
it("returns paginated logs with usernames", async () => {
|
||||
findMany.mockResolvedValue([
|
||||
{ id: 1, userId: 1, action: "test", target: "user", targetId: null, before: null, after: null, diff: null, createdAt: "2024-01-01" },
|
||||
{ id: 2, userId: 2, action: "test2", target: "room", targetId: null, before: null, after: null, diff: null, createdAt: "2024-01-02" },
|
||||
{
|
||||
id: 1,
|
||||
userId: 1,
|
||||
action: "test",
|
||||
target: "user",
|
||||
targetId: null,
|
||||
before: null,
|
||||
after: null,
|
||||
diff: null,
|
||||
createdAt: "2024-01-01",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
userId: 2,
|
||||
action: "test2",
|
||||
target: "room",
|
||||
targetId: null,
|
||||
before: null,
|
||||
after: null,
|
||||
diff: null,
|
||||
createdAt: "2024-01-02",
|
||||
},
|
||||
]);
|
||||
count.mockResolvedValue(2);
|
||||
userFindMany.mockResolvedValue([
|
||||
@@ -110,14 +130,29 @@ describe("getAuditLogs", () => {
|
||||
await getAuditLogs({ search: "test" });
|
||||
expect(findMany).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
where: { OR: [{ action: { contains: "test" } }, { target: { contains: "test" } }] },
|
||||
where: {
|
||||
OR: [
|
||||
{ action: { contains: "test" } },
|
||||
{ target: { contains: "test" } },
|
||||
],
|
||||
},
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it("falls back to User #id for unknown users", async () => {
|
||||
findMany.mockResolvedValue([
|
||||
{ id: 1, userId: 99, action: "x", target: "y", targetId: null, before: null, after: null, diff: null, createdAt: "2024-01-01" },
|
||||
{
|
||||
id: 1,
|
||||
userId: 99,
|
||||
action: "x",
|
||||
target: "y",
|
||||
targetId: null,
|
||||
before: null,
|
||||
after: null,
|
||||
diff: null,
|
||||
createdAt: "2024-01-01",
|
||||
},
|
||||
]);
|
||||
count.mockResolvedValue(1);
|
||||
userFindMany.mockResolvedValue([]);
|
||||
|
||||
Reference in new issue
Block a user