import fs from 'fs' import path from 'path' describe('scripts/smoke-install.ps1', () => { const script = fs.readFileSync( path.join(process.cwd(), 'scripts/smoke-install.ps1'), 'utf8' ) it('首装验收可以选择启动 Compose,但默认也能只做检查', () => { expect(script).toContain('[switch]$Start') expect(script).toContain('"up", "-d"') expect(script).toContain('"config", "--quiet"') expect(script).toContain('@("ps")') }) it('验收运行镜像、版本文件、迁移状态和健康接口', () => { expect(script).toContain('Wait-ServiceRunning') expect(script).toContain('docker inspect $appContainerId --format') expect(script).toContain('cat VERSION.txt') expect(script).toContain('npx", "prisma", "migrate", "status"') expect(script).toContain('/api/health') }) it('验收内置对象存储 bucket,并允许外部对象存储跳过', () => { expect(script).toContain('[switch]$SkipObjectStorageCheck') expect(script).toContain('S3_BUCKET') expect(script).toContain('test -d /data/$bucket') }) it('验收失败时会读取应用日志辅助排查', () => { expect(script).toContain('logs --tail 80') expect(script).toContain('读取应用日志失败') }) })