feat(marketing-pages): wire instrumentation — site-settings + pages spans + use-case/controller withSpan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-07 00:26:45 +02:00
parent 64ffb009e1
commit 404cb07e79
10 changed files with 411 additions and 83 deletions

View File

@@ -1,5 +1,6 @@
import "reflect-metadata";
import { afterEach, beforeEach, describe, expect, it } from "vitest";
import { NoopTracer, NoopLogger } from "@repo/core-shared/instrumentation";
import { bindDevSeedMarketingPages } from "@/di/bind-dev-seed";
import { marketingPagesContainer } from "@/di/container";
import { MARKETING_PAGES_SYMBOLS } from "@/di/symbols";
@@ -8,6 +9,8 @@ import { MockSiteSettingsRepository } from "@/infrastructure/repositories/site-s
import type { IPagesRepository } from "@/application/repositories/pages.repository.interface";
import type { ISiteSettingsRepository } from "@/application/repositories/site-settings.repository.interface";
const noop = { tracer: new NoopTracer(), logger: new NoopLogger() };
describe("bindDevSeedMarketingPages", () => {
// Each test starts from default mock bindings and tears down afterwards so
// the global marketingPagesContainer state stays clean for siblings.
@@ -56,7 +59,7 @@ describe("bindDevSeedMarketingPages", () => {
});
it("populates the pages repository with the dev pages", async () => {
await bindDevSeedMarketingPages();
await bindDevSeedMarketingPages(noop.tracer, noop.logger);
const repo = marketingPagesContainer.get<IPagesRepository>(
MARKETING_PAGES_SYMBOLS.IPagesRepository,
@@ -67,7 +70,7 @@ describe("bindDevSeedMarketingPages", () => {
});
it("seeds site settings with a non-default site name", async () => {
await bindDevSeedMarketingPages();
await bindDevSeedMarketingPages(noop.tracer, noop.logger);
const settingsRepo = marketingPagesContainer.get<ISiteSettingsRepository>(
MARKETING_PAGES_SYMBOLS.ISiteSettingsRepository,
@@ -79,13 +82,13 @@ describe("bindDevSeedMarketingPages", () => {
});
it("is idempotent — calling twice rebuilds fresh populated repos", async () => {
await bindDevSeedMarketingPages();
await bindDevSeedMarketingPages(noop.tracer, noop.logger);
const before = marketingPagesContainer.get<IPagesRepository>(
MARKETING_PAGES_SYMBOLS.IPagesRepository,
);
const beforeCount = (await before.getPages()).length;
await bindDevSeedMarketingPages();
await bindDevSeedMarketingPages(noop.tracer, noop.logger);
const after = marketingPagesContainer.get<IPagesRepository>(
MARKETING_PAGES_SYMBOLS.IPagesRepository,
);