修复财务页面竞态并整理采购与运输展示
This commit is contained in:
@@ -270,6 +270,20 @@ describe('单据费用操作', () => {
|
||||
expect(dialog.text()).toContain('审核状态')
|
||||
expect(dialog.findAll('button').some(button => button.text().trim() === '审核')).toBe(false)
|
||||
})
|
||||
it.each([['ADJUST', '调整'], ['VOID', '作废']] as const)('does not execute %s after the fee was approved elsewhere', async (action, label) => {
|
||||
const pending = { ...fee, allowedActions: [action] }
|
||||
const approved = { ...fee, reviewStatus: 'APPROVED', allowedActions: ['ADJUST', 'VOID'] }
|
||||
vi.mocked(api.listBusinessOverseasFees).mockResolvedValueOnce({ records: [pending], total: 1, page: 1, size: 20, pages: 1 })
|
||||
.mockResolvedValue({ records: [approved], total: 1, page: 1, size: 20, pages: 1 })
|
||||
vi.mocked(api.getOverseasFee).mockResolvedValue(approved)
|
||||
const wrapper = await mountPage()
|
||||
await click(wrapper, label, '.el-table__body-wrapper button')
|
||||
expect(api.actOnOverseasFee).not.toHaveBeenCalled()
|
||||
expect(wrapper.findAllComponents(AppDialog).some(component => component.props('modelValue'))).toBe(false)
|
||||
const buttons = wrapper.findAll('.el-table__body-wrapper button').map(button => button.text().trim())
|
||||
expect(buttons).not.toContain('调整')
|
||||
expect(buttons).not.toContain('作废')
|
||||
})
|
||||
it('voids with the freshly loaded version and a required reason', async () => {
|
||||
vi.mocked(api.listBusinessOverseasFees).mockResolvedValue({ records: [{ ...fee, allowedActions: ['VOID'] }], total: 1, page: 1, size: 20, pages: 1 })
|
||||
vi.mocked(api.getOverseasFee).mockResolvedValue({ ...fee, sourceVersion: 5, allowedActions: ['VOID'] })
|
||||
|
||||
Reference in New Issue
Block a user