// Hybrid-Chain offline teaching model: tokenized-loyalty-program // Fictional fields/states; NOT an API client, authorization system or production implementation. // No network calls, credentials, payments or file writes. Review before running. // Requires Node.js 22+. Run: node --test tokenized-loyalty-program.mjs import test from 'node:test'; import assert from 'node:assert/strict'; export function inspect(record) { if (record.purchaseAlreadyCredited) return 'ALREADY_CREDITED'; if (record.expired) return 'EXPIRED'; if (record.redeemed) return 'ALREADY_REDEEMED'; return 'READY_FOR_PROGRAM_REVIEW'; } const baseline = { "purchaseAlreadyCredited": false, "expired": false, "redeemed": false }; const cases = [ { "name": "reviewable fixture", "patch": {}, "expected": "READY_FOR_PROGRAM_REVIEW" }, { "name": "duplicate earning", "patch": { "purchaseAlreadyCredited": true }, "expected": "ALREADY_CREDITED" }, { "name": "expired entitlement", "patch": { "expired": true }, "expected": "EXPIRED" }, { "name": "already consumed", "patch": { "redeemed": true }, "expected": "ALREADY_REDEEMED" } ]; for (const example of cases) { test(example.name, () => { assert.equal(inspect({...baseline, ...example.patch}), example.expected); }); }