1
/** @jest-environment node */
3
import { makeAPICall, pruneDatabase } from "@/src/__tests__/test-utils";
4
import { prisma } from "@/src/server/db";
6
describe("/api/public/traces API Endpoint", () => {
7
beforeEach(async () => await pruneDatabase());
8
afterEach(async () => await pruneDatabase());
10
it("should create a session via a trace", async () => {
11
await pruneDatabase();
13
await makeAPICall("POST", "/api/public/traces", {
15
projectId: "7a88fb47-b4e2-43b8-a06c-a5ce950dc53a",
16
sessionId: "session-id",
19
const dbSession = await prisma.traceSession.findFirst({
25
expect(dbSession).not.toBeNull();
26
expect(dbSession).toMatchObject({
28
projectId: "7a88fb47-b4e2-43b8-a06c-a5ce950dc53a",
32
it("should get session including traces", async () => {
33
await pruneDatabase();
35
await makeAPICall("POST", "/api/public/traces", {
38
input: { hello: "world" },
40
projectId: "7a88fb47-b4e2-43b8-a06c-a5ce950dc53a",
41
sessionId: "session-id",
44
const response = await makeAPICall(
46
"/api/public/sessions/session-id",
49
expect(response.status).toBe(200);
50
expect(response.body).toMatchObject({
52
projectId: "7a88fb47-b4e2-43b8-a06c-a5ce950dc53a",
56
input: { hello: "world" },