GitHub(nextgroup2706/ken_nogi)は今後使わず自社Gitea運用に切替え。 NodeSrvは旧リポジトリの履歴を破棄しファイルのみ統合(Dokploy用サービスアカウントは 別途mygit-admin/NodeSrv.gitに履歴あり)。notepmエクスポート(12GB)とPleasanter インストーラzip(208MB)はサイズが大きいため.gitignoreで除外。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
47 lines
2.2 KiB
JavaScript
47 lines
2.2 KiB
JavaScript
const { test } = require("node:test");
|
|
const assert = require("node:assert");
|
|
const { FIELD_MAP, buildHashUpdate } = require("../src/config/masterFields");
|
|
|
|
test("buildHashUpdate groups every field label under its own hash type", () => {
|
|
const result = buildHashUpdate();
|
|
assert.strictEqual(result.ClassHash.ClassA, "社員ID");
|
|
assert.strictEqual(result.ClassHash.Class011, "ユーザID");
|
|
assert.strictEqual(result.ClassHash.Class051, "私用メールアドレス");
|
|
assert.strictEqual(result.DateHash.DateA, "LW同期日時");
|
|
assert.strictEqual(result.DateHash.Date007, "生年月日");
|
|
assert.strictEqual(result.DateHash.Date060, "入社日");
|
|
assert.strictEqual(result.CheckHash.Check062, "LINEWORKS在籍フラグ");
|
|
assert.strictEqual(result.DescriptionHash.Description022, "説明");
|
|
assert.strictEqual(result.ClassHash.Class035, "所属グループ");
|
|
assert.strictEqual(result.DescriptionHash.Description061, "エイリアスメール(複数)");
|
|
assert.deepStrictEqual(result.NumHash, {});
|
|
});
|
|
|
|
test("buildHashUpdate excludes fields whose hash is \"none\" (standard fields like Body)", () => {
|
|
const result = buildHashUpdate();
|
|
const allLabels = [
|
|
...Object.values(result.ClassHash),
|
|
...Object.values(result.DateHash),
|
|
...Object.values(result.DescriptionHash),
|
|
...Object.values(result.CheckHash),
|
|
];
|
|
assert.ok(!allLabels.includes("備考"));
|
|
});
|
|
|
|
test("FIELD_MAP has no duplicate field keys across all logical names", () => {
|
|
const keys = Object.values(FIELD_MAP).map((f) => f.key);
|
|
assert.strictEqual(new Set(keys).size, keys.length);
|
|
});
|
|
|
|
test("buildHashUpdate excludes ClassZ/ClassY (hash: \"columns-only\") because sending them via top-level ClassHash 404s on this environment", () => {
|
|
const result = buildHashUpdate();
|
|
assert.strictEqual(result.ClassHash.ClassZ, undefined);
|
|
assert.strictEqual(result.ClassHash.ClassY, undefined);
|
|
});
|
|
|
|
test("buildHashUpdate includes plMailAddress (Class036) in tab2 as a distinct label from LW email (ClassB)", () => {
|
|
const result = buildHashUpdate();
|
|
assert.strictEqual(result.ClassHash.Class036, "PLメールアドレス");
|
|
assert.strictEqual(result.ClassHash.ClassB, "メールアドレス");
|
|
});
|