36 lines
1.3 KiB
JavaScript
36 lines
1.3 KiB
JavaScript
// 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, "不明: {存在しないラベル}");
|
|
});
|