// test/templateFill.test.js const { test } = require("node:test"); const assert = require("node:assert"); const { fillTemplate } = require("../src/lib/templateFill"); const columns = [ { ColumnName: "Class003", LabelText: "検査機関" }, { ColumnName: "Date001", LabelText: "検査日" }, ]; test("プレースホルダーをレコード値で置換する", () => { const result = fillTemplate( "検査機関: {検査機関}\n日程: {検査日}", columns, { Class003: "next健診クリニック", Date001: "2026-04-01T00:00:00" } ); assert.strictEqual(result, "検査機関: next健診クリニック\n日程: 2026-04-01T00:00:00"); }); test("未設定の日付センチネル値は「未設定」に変換する", () => { const result = fillTemplate("日程: {検査日}", columns, { Date001: "1899-12-30T00:00:00", }); assert.strictEqual(result, "日程: 未設定"); }); test("値が無い列は「未設定」に変換する", () => { const result = fillTemplate("検査機関: {検査機関}", columns, {}); assert.strictEqual(result, "検査機関: 未設定"); }); test("対応するラベルが見つからないプレースホルダーはそのまま残す", () => { const result = fillTemplate("不明: {存在しないラベル}", columns, {}); assert.strictEqual(result, "不明: {存在しないラベル}"); });