Files
prop-ai-hr/mobile-uni/tests/feedback-question-bridge.test.mjs

22 lines
1.1 KiB
JavaScript

import assert from 'node:assert/strict';
import fs from 'node:fs';
import test from 'node:test';
const service = fs.readFileSync(new URL('../src/services/questions.ts', import.meta.url), 'utf8');
const page = fs.readFileSync(new URL('../src/pages/user/sop/index.vue', import.meta.url), 'utf8');
test('negative feedback bridge sends only opaque source and idempotency references', () => {
assert.match(service, /questions\/from-answer-feedback/);
assert.match(service, /data:\s*\{\s*requestId: data\.requestId,\s*idempotencyKey: data\.idempotencyKey\s*\}/);
assert.doesNotMatch(service, /publishQuestionFromAnswerFeedback[\s\S]*queryText:/);
assert.doesNotMatch(service, /publishQuestionFromAnswerFeedback[\s\S]*fragmentIds:/);
});
test('human-help conversion is explicit, privacy-aware, and remains pending moderation', () => {
assert.match(page, /转人工求助/);
assert.match(page, /审核通过后其他员工可见/);
assert.match(page, /不含住户姓名、电话、房号等隐私信息/);
assert.match(page, /已提交审核/);
assert.doesNotMatch(page, /已公开|已发布到问题榜/);
});