16fd99e8ba
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>
44 lines
1.5 KiB
JavaScript
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');
|
|
});
|