test: isolate module mocking and add sequential test script

This commit is contained in:
MythEclipse
2026-05-18 07:16:30 +07:00
parent 434905313c
commit 252b2e4a1f
4 changed files with 17 additions and 6 deletions
+2 -1
View File
@@ -6,7 +6,8 @@
"scripts": {
"dev": "bun --hot index.js",
"start": "NODE_ENV=production bun index.js",
"db:migrate": "psql $DATABASE_URL -f schema.sql"
"db:migrate": "psql $DATABASE_URL -f schema.sql",
"test": "bun test test/rateLimit.test.js && bun test test/file.test.js && bun test test/telegram.test.js && bun test test/upload.test.js && bun test test/files.test.js && bun test test/health.test.js && bun test test/bot.test.js && bun test test/bootstrap.test.js"
},
"dependencies": {
"@prisma/engines": "^7.8.0",
+5 -1
View File
@@ -1,4 +1,4 @@
import { describe, it, expect, mock, spyOn, beforeEach } from "bun:test";
import { describe, it, expect, mock, spyOn, beforeEach, afterAll } from "bun:test";
import logger from "../src/utils/logger.js";
// Mock environment
@@ -145,4 +145,8 @@ describe("Telegram Bot Handler", () => {
expect(mockForwardToStorage).not.toHaveBeenCalled();
expect(replyMock).toHaveBeenCalledWith(expect.stringContaining("exceeds"));
});
afterAll(() => {
mock.restore();
});
});
+5 -2
View File
@@ -1,5 +1,4 @@
import { describe, it, expect, mock, spyOn, beforeEach } from "bun:test";
import logger from "../src/utils/logger.js";
import { describe, it, expect, mock, beforeEach, afterAll } from "bun:test";
// Mock database layer
const mockSelect = mock(() => ({
@@ -176,4 +175,8 @@ describe("File Route Handlers", () => {
expect(body.error).toBe("Server error");
});
});
afterAll(() => {
mock.restore();
});
});
+5 -2
View File
@@ -1,5 +1,4 @@
import { describe, it, expect, mock, spyOn, beforeEach, afterEach } from "bun:test";
import logger from "../src/utils/logger.js";
import { describe, it, expect, mock, beforeEach, afterAll } from "bun:test";
// Mock db
const mockInsert = mock(() => ({
@@ -116,4 +115,8 @@ describe("Upload Route Handler", () => {
expect(body.public_id).toBe("mocked-nanoid-id");
expect(body.file_name).toBe("test_multi.txt");
});
afterAll(() => {
mock.restore();
});
});