mirror of
https://github.com/vercel/eve.git
synced 2026-09-20 05:35:39 +08:00
d3728bd6bc
Signed-off-by: John Pham <john.pham@vercel.com>
33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import { track } from "@vercel/analytics/server";
|
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
import { analyticsEvents } from "./events";
|
|
import { trackServerEvent } from "./server";
|
|
|
|
vi.mock("@vercel/analytics/server", () => ({ track: vi.fn() }));
|
|
|
|
describe("server analytics", () => {
|
|
afterEach(() => {
|
|
vi.mocked(track).mockClear();
|
|
});
|
|
|
|
it("does not call the SDK in a query-bearing request context", () => {
|
|
const request = new Request("https://eve.dev/docs/missing?token=secret");
|
|
|
|
trackServerEvent(request, analyticsEvents.smartMarkdownNotFound, { surface: "docs" });
|
|
|
|
expect(track).not.toHaveBeenCalled();
|
|
});
|
|
|
|
it("tracks query-free requests with the original request context", () => {
|
|
const request = new Request("https://eve.dev/api/chat", { method: "POST" });
|
|
|
|
trackServerEvent(request, analyticsEvents.askAiSubmitted, { outcome: "accepted" });
|
|
|
|
expect(track).toHaveBeenCalledWith(
|
|
analyticsEvents.askAiSubmitted,
|
|
{ outcome: "accepted" },
|
|
{ request },
|
|
);
|
|
});
|
|
});
|