switch to bun

This commit is contained in:
2025-09-22 21:39:45 +00:00
parent 049ed4b956
commit 91c14f750e
17 changed files with 208 additions and 276 deletions

View File

@@ -1,20 +1,24 @@
import { describe, it, expect, vi, beforeEach } from "vitest";
import { describe, it, expect, jest, beforeEach } from "bun:test";
import AccountRepository from "../src/domain/account/repository/AccoutRepository";
import { DatabaseInterface } from "../src/database/DatabaseInterface";
import { AccountEntity } from "../src/domain/account/entity/AccountEntity";
describe("AccountRepository", () => {
let accountRepository: AccountRepository;
let mockDatabase: DatabaseInterface;
let mockDatabase: {
ping: ReturnType<typeof jest.fn>;
fetchAll: ReturnType<typeof jest.fn>;
fetchOne: ReturnType<typeof jest.fn>;
execute: ReturnType<typeof jest.fn>;
};
beforeEach(() => {
mockDatabase = {
ping: vi.fn(),
fetchAll: vi.fn(),
fetchOne: vi.fn(),
execute: vi.fn(),
ping: jest.fn(() => Promise.resolve()),
fetchAll: jest.fn(() => Promise.resolve([])),
fetchOne: jest.fn(() => Promise.resolve(undefined)),
execute: jest.fn(() => Promise.resolve()),
};
accountRepository = new AccountRepository(mockDatabase);
accountRepository = new AccountRepository(mockDatabase as any);
});
describe("findByEmail", () => {
@@ -29,7 +33,9 @@ describe("AccountRepository", () => {
updated_at: new Date(),
};
vi.mocked(mockDatabase.fetchOne).mockResolvedValue(mockResult);
mockDatabase.fetchOne.mockImplementation(() =>
Promise.resolve(mockResult),
);
const result = await accountRepository.findByEmail(email);
@@ -46,7 +52,9 @@ describe("AccountRepository", () => {
it("should return null when account not found", async () => {
const email = "nonexistent@example.com";
vi.mocked(mockDatabase.fetchOne).mockResolvedValue(undefined);
mockDatabase.fetchOne.mockImplementation(() =>
Promise.resolve(undefined),
);
const result = await accountRepository.findByEmail(email);
@@ -66,7 +74,9 @@ describe("AccountRepository", () => {
updated_at: new Date(),
};
vi.mocked(mockDatabase.fetchOne).mockResolvedValue(mockResult);
mockDatabase.fetchOne.mockImplementation(() =>
Promise.resolve(mockResult),
);
const result = await accountRepository.findById(id);
@@ -83,7 +93,9 @@ describe("AccountRepository", () => {
it("should return null when account not found", async () => {
const id = "nonexistent";
vi.mocked(mockDatabase.fetchOne).mockResolvedValue(undefined);
mockDatabase.fetchOne.mockImplementation(() =>
Promise.resolve(undefined),
);
const result = await accountRepository.findById(id);
@@ -95,7 +107,9 @@ describe("AccountRepository", () => {
it("should save account successfully", async () => {
const account = AccountEntity.create("test@example.com", "password123");
vi.mocked(mockDatabase.fetchOne).mockResolvedValue({ id: account.id });
mockDatabase.fetchOne.mockImplementation(() =>
Promise.resolve({ id: account.id }),
);
const result = await accountRepository.save(account);