import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import * as piiDetection from "../../lib/internals/pii-detection.js";
import { getActiveSpan } from "../../lib/traces.js";
import { MockSpan } from "../utils/mock-signals.js";
import { setNodeSdkConfig } from "../../lib/config-manager.js";

describe("getActiveSpan", () => {
  it("returns undefined if no active span", async () => {
    setNodeSdkConfig({
      serviceName: "unit-test",
      collectorUrl: "http://collector",
      detection: {
        email: false,
      },
    });

    // Temporarily override
    const opentelemetry = await import("@opentelemetry/api");

    vi.spyOn(opentelemetry.trace, "getActiveSpan").mockImplementationOnce(
      () => undefined,
    );

    const span = getActiveSpan();

    expect(span).toBeUndefined();
  });
});
