import assert from 'node:assert/strict' import { describe, it } from 'node:test' import { arrangeBlockedMessage, canArrangeTransport, canVoidPlan, showArrangeTransport, voidBlockedMessage } from './pl-plan-action-guards' const arranged = { transportStatus: 'arranged', archiveStatus: 'unarchived', followStatus: 'arranged' } describe('运输计划已开始后的操作', () => { it('未开始的已安排计划可以调整和作废', () => { assert.equal(canArrangeTransport(arranged), true) assert.equal(canVoidPlan(arranged), true) }) it('已开始的计划不再允许调整和普通作废,并说明原因', () => { const started = { ...arranged, executionStarted: true, executionLockReason: '已过磅' } assert.equal(showArrangeTransport(started), true) assert.equal(canArrangeTransport(started), false) assert.equal(canVoidPlan(started), false) assert.equal(arrangeBlockedMessage(started), '该计划已过磅,不能再调整,请联系管理员处理') assert.equal(voidBlockedMessage(started), '该计划已过磅,不能作废,请联系管理员处理') }) })