import { describe, it, expect } from "vitest";
import { signOutUseCase } from "@/application/use-cases/sign-out.use-case";
import { MockUsersRepository } from "@/infrastructure/repositories/users.repository.mock";
import { MockAuthenticationService } from "@/infrastructure/services/authentication.service.mock";

describe("signOutUseCase", () => {
  it("returns void on successful sign-out", async () => {
    const users = new MockUsersRepository([]);
    const auth = new MockAuthenticationService(users);
    const useCase = signOutUseCase(auth);

    const result = await useCase({ sessionId: "session_1" });
    expect(result).toBeUndefined();
  });
});
