describe('标准模型 SKU 唯一性回归测试', () => { test('新增 SKU 接口应校验同一素材下 skuName 唯一', async () => { const fs = require('fs') const path = require('path') const filePath = path.join(process.cwd(), 'app/api/materials/[id]/skus/route.ts') const content = fs.readFileSync(filePath, 'utf-8') expect(content).toContain('所有标准模型下 SKU 名称不能重复') expect(content).toContain("materialType: '标准模型'") expect(content).toContain('material: {') expect(content).toContain('deletedAt: null,') expect(content).toContain('deletedAt: null') expect(content).toContain('skuName: normalizedSkuName') }) test('更新 SKU 接口应在改名时校验同一素材下 skuName 唯一', async () => { const fs = require('fs') const path = require('path') const filePath = path.join(process.cwd(), 'app/api/materials/[id]/skus/[skuId]/route.ts') const content = fs.readFileSync(filePath, 'utf-8') expect(content).toContain('所有标准模型下 SKU 名称不能重复') expect(content).toContain('excludeSkuId ? { NOT: { id: excludeSkuId } }') expect(content).toContain("materialType: '标准模型'") expect(content).toContain('material: {') expect(content).toContain('deletedAt: null,') expect(content).toContain('updateData.skuName = normalizedSkuName') }) })