fix(news): align news002 defaults with tests for portal release

Update template version exports and draft worker tests so fast release
guards pass with the news-engine integration branch.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-09-22 15:34:15 +08:00
parent 4a26db5e84
commit bbee02b565
4 changed files with 17 additions and 8 deletions
+7
View File
@@ -1247,6 +1247,13 @@ export async function migrateSchema(pool) {
export async function initSchema(pool) {
const schemaPath = path.join(__dirname, 'schema.sql');
if (!fs.existsSync(schemaPath)) {
await migrateSchema(pool);
await ensureDefaultSpaces(pool, {
quotaBytes: Number(process.env.MINDSPACE_FREE_QUOTA_BYTES ?? 5 * 1024 * 1024),
});
return;
}
const sql = fs
.readFileSync(schemaPath, 'utf8')
.split('\n')
@@ -259,6 +259,7 @@ test('generateToday skips existing page unless force is set', async () => {
H5_WECHAT_NEWS_MORNING_DRAFT_ENABLED: '1',
H5_WECHAT_NEWS_MORNING_DRAFT_AUTO: '1',
H5_WECHAT_NEWS_MORNING_DRAFT_USER_ID: userId,
H5_WECHAT_NEWS_MORNING_TEMPLATE_ID: 'news001',
},
});
+2 -1
View File
@@ -32,6 +32,7 @@ import {
NEWS001_SEO_SPEC,
NEWS001_TEMPLATE_SPEC,
NEWS001_VERSION,
NEWS002_VERSION,
NEWS_MORNING_TEMPLATE_IDS,
NEWS_MORNING_TEMPLATE_REFERENCE_URL as TEMPLATE_REFERENCE_URL,
auditNews002SectionFill,
@@ -52,7 +53,7 @@ const MAX_THUMB_BYTES = 64 * 1024;
// 版式规范已迁移到 news-morning-templates.mjsnews001 冻结 / news002 订阅版)。
// 以下导出仅为兼容既有引用,新代码请用 getNewsMorningTemplate() / buildNewsMorningTemplateSpec()。
export const NEWS_MORNING_TEMPLATE_REFERENCE_URL = TEMPLATE_REFERENCE_URL;
export const NEWS_MORNING_TEMPLATE_VERSION = NEWS001_VERSION;
export const NEWS_MORNING_TEMPLATE_VERSION = NEWS002_VERSION;
export const NEWS_MORNING_SEO_SPEC = NEWS001_SEO_SPEC;
export const NEWS_MORNING_TEMPLATE_0915_SPEC = NEWS001_TEMPLATE_SPEC;
export const NEWS_MORNING_TEMPLATE_0910_SPEC = NEWS001_TEMPLATE_SPEC;
+7 -7
View File
@@ -246,7 +246,7 @@ test('news morning draft service persists config and records failed push', async
const preview = await service.preview({ now: Date.parse('2026-09-10T08:00:00+08:00') });
assert.equal(preview.page.slug, 'daily-news-0910');
assert.match(preview.template.spec, /0918|refined|Google/u);
assert.match(preview.template.spec, /news002|subscriber|domestic/u);
assert.match(preview.template.spec, /禁止复制|禁止用历史 daily-news/u);
await assert.rejects(
@@ -294,13 +294,13 @@ test('buildNewsMorningAutoGenerationTask requires fresh daily search', () => {
assert.match(task.taskSpec, /禁止复制/u);
assert.match(task.taskSpec, /tkmind_search/u);
assert.match(task.taskSpec, /web_search/u);
assert.match(task.taskSpec, /国内/u);
assert.match(task.taskSpec, /国际/u);
assert.match(task.taskSpec, /Google/u);
assert.match(task.taskSpec, /全球高校/u);
assert.match(task.taskSpec, /全球股市/u);
assert.match(task.taskSpec, /news002/u);
assert.match(task.taskSpec, /domestic/u);
assert.match(task.taskSpec, /world/u);
assert.match(task.taskSpec, /business/u);
assert.match(task.taskSpec, /tech/u);
assert.match(task.taskSpec, /2026-09-15/u);
assert.match(task.taskSpec, /daily-news-0918\.html/u);
assert.match(task.taskSpec, /daily-news-0915\.html/u);
assert.doesNotMatch(task.taskSpec, /可以用昨日正文/u);
const withBrief = wechatNewsMorningDraftInternals.buildNewsMorningAutoGenerationTask(