16 lines
787 B
TypeScript
16 lines
787 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { readFileSync } from 'node:fs'
|
|
import { resolve } from 'node:path'
|
|
|
|
const source = readFileSync(resolve(process.cwd(), 'src/modules/trucking/pages/TruckAppointmentDetailView.vue'), 'utf8')
|
|
|
|
describe('TruckAppointmentDetailView status contract', () => {
|
|
it('matches the backend edit lifecycle and avoids a self-transition action', () => {
|
|
expect(source).toContain('const targets: TruckAppointmentStatus[] =')
|
|
expect(source).not.toContain('const targets: string[] =')
|
|
expect(source).toContain("['DRAFT', 'PENDING_DISPATCH', 'RESCHEDULED'].includes(resource.value?.status || '')")
|
|
expect(source).toContain("status !== resource.value?.status")
|
|
expect(source).toContain("statuses.indexOf(status) === index")
|
|
})
|
|
})
|