Merge remote-tracking branch 'origin/codex/xuxiake-mainline' into codex/tmp-intake-date-filter-20260713-105421
This commit is contained in:
commit
5ab182a61e
@ -234,7 +234,10 @@ export function useProductWorkflowRowController({
|
||||
const saved = await persistEditedProduct({
|
||||
successMessage: "核价数据已保存,正在推送聚水潭",
|
||||
errorFallbackMessage: "推送前保存核价数据失败",
|
||||
overrides: { pricingRows: currentPricingRows },
|
||||
overrides: {
|
||||
pricingRows: currentPricingRows,
|
||||
workspaceCategory: PRODUCT_PRICING_WORKSPACE_CATEGORY,
|
||||
},
|
||||
});
|
||||
if (!saved) return;
|
||||
|
||||
@ -300,6 +303,7 @@ export function useProductWorkflowRowController({
|
||||
errorFallbackMessage: "聚水潭推送成功,但保存录入状态失败",
|
||||
overrides: {
|
||||
pricingRows: nextPricingRows,
|
||||
workspaceCategory: PRODUCT_PRICING_WORKSPACE_CATEGORY,
|
||||
...(nextProductPricingCanBeConfirmed
|
||||
? {
|
||||
documentWorkspaceConfirmations: nextConfirmations,
|
||||
|
||||
@ -116,6 +116,45 @@ describe('IntakeNonIntegratedScopeService node permissions', () => {
|
||||
expect(() => service.assertCanPushProductPricing(otherRecord, externalUser)).toThrow()
|
||||
})
|
||||
|
||||
it('reports unsaved product factory target SKU rows as validation failures', async () => {
|
||||
const externalUser: AuthUser = {
|
||||
id: 'external-user-id',
|
||||
email: 'external@example.local',
|
||||
name: 'ExternalUser',
|
||||
role: 'USER',
|
||||
status: 'ACTIVE',
|
||||
businessRoles: ['EXTERNAL_INTAKE'],
|
||||
departmentPaths: [],
|
||||
}
|
||||
const ownRecord = {
|
||||
id: 'own-record',
|
||||
createdBy: 'external-user-id',
|
||||
designer: '',
|
||||
operator: '',
|
||||
purchaser: '',
|
||||
visibility: 'DEPARTMENT',
|
||||
departmentId: null,
|
||||
teamId: null,
|
||||
payload: {},
|
||||
profile: null,
|
||||
skuItems: [
|
||||
{
|
||||
skuItemId: 'saved-sku-id',
|
||||
purchaseOwner: 'ExternalUser',
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
await expect(
|
||||
service.assertCanWriteRecord(
|
||||
ownRecord,
|
||||
externalUser,
|
||||
'\u4ea7\u54c1\u5b9a\u5382',
|
||||
['saved-sku-id', 'unsaved-sku-id'],
|
||||
),
|
||||
).rejects.toThrow('SKU 尚未保存')
|
||||
})
|
||||
|
||||
it('uses stored payload owner fields when structured profile data is missing', async () => {
|
||||
const record = {
|
||||
id: 'payload-backed-owner-record',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user