forked from wangziqi/gongxue-base
feat: add public question bank sync worker
This commit is contained in:
@@ -3824,6 +3824,25 @@ async function testPublicQuestionBankAdoption() {
|
||||
'public bank sync should identify the source question that conflicts with tenant edits',
|
||||
);
|
||||
|
||||
const conflictList = await request('/api/tenant-content/public-question-banks/conflicts', {
|
||||
tenantId: PARTNER_TENANT_ID,
|
||||
userId: PARTNER_TENANT_ADMIN_USER_ID,
|
||||
query: { adoptionId: adopted.item.id },
|
||||
});
|
||||
assert.equal(conflictList.item?.syncStatus, 'failed', 'conflict list should expose failed adoption sync status');
|
||||
assert.ok(conflictList.item?.conflictCount >= 1, 'conflict list should expose conflict count');
|
||||
assert.ok(
|
||||
conflictList.item?.conflicts?.some(item => item.sourceQuestionId === ids.question && item.action === 'conflict'),
|
||||
'conflict list should expose source question conflict details',
|
||||
);
|
||||
|
||||
const crossTenantConflictListDenied = await request('/api/tenant-content/public-question-banks/conflicts', {
|
||||
userId: TENANT_ADMIN_USER_ID,
|
||||
query: { adoptionId: adopted.item.id },
|
||||
expectStatus: 404,
|
||||
});
|
||||
assert.equal(crossTenantConflictListDenied.code, 'QUESTION_BANK_ADOPTION_NOT_FOUND', 'public bank conflicts must be tenant isolated');
|
||||
|
||||
const collectionAfterConflict = await request('/api/catalog/question-collections/questions', {
|
||||
tenantId: PARTNER_TENANT_ID,
|
||||
userId: false,
|
||||
|
||||
Reference in New Issue
Block a user