Files
memind/page-data-delivery-assess.test.mjs
john 16fd99e8ba fix(page-data): trust live API smoke and WeChat survey submit compat
Stop blocking WeChat delivery when Page Data insert works but publish
quota blocks h5_publish_records; fix smoke URL missing /api; patch survey
radios for WeChat X5 and detect dataset constants in admin pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 22:42:47 +08:00

44 lines
1.5 KiB
JavaScript

import assert from 'node:assert/strict';
import test from 'node:test';
import {
buildSmokeInsertRow,
extractInjectedPageIdFromHtml,
normalizePageDataApiBase,
} from './page-data-delivery-assess.mjs';
test('extractInjectedPageIdFromHtml reads injected pageId', () => {
const html = `<html><head>
<meta name="mindspace-page-data-page-id" content="page-abc">
<script>window.__MINDSPACE_PAGE_DATA__={"pageId":"page-abc","accessMode":"public"};</script>
</head></html>`;
assert.equal(extractInjectedPageIdFromHtml(html), 'page-abc');
});
test('extractInjectedPageIdFromHtml reads unquoted pageId keys', () => {
const html =
'<script>window.__MINDSPACE_PAGE_DATA__={pageId:"page-unquoted",accessMode:"public"};</script>';
assert.equal(extractInjectedPageIdFromHtml(html), 'page-unquoted');
});
test('normalizePageDataApiBase appends /api to public base url', () => {
assert.equal(normalizePageDataApiBase('https://m.tkmind.cn'), 'https://m.tkmind.cn/api');
assert.equal(normalizePageDataApiBase('https://m.tkmind.cn/api'), 'https://m.tkmind.cn/api');
assert.equal(normalizePageDataApiBase('/api'), '/api');
});
test('buildSmokeInsertRow fills insert columns', () => {
const row = buildSmokeInsertRow(
{
datasets: {
dining_survey: {
columns: { insert: ['q1_frequency', 'overall_rating', 'phone'] },
},
},
},
'dining_survey',
);
assert.equal(row.q1_frequency, 'smoke-test');
assert.equal(row.overall_rating, 3);
assert.equal(row.phone, '13800000000');
});