import fs from 'node:fs' import path from 'node:path' import { expect, test } from '@playwright/test' const projectRoot = process.cwd() test.describe('HiCAD project management experience', () => { test('vendors the project dashboard and autosave status', () => { const script = fs.readFileSync( path.join(projectRoot, 'scripts/vendor-zoo-modeling-app.mjs'), 'utf8' ) const experience = fs.readFileSync( path.join( projectRoot, 'vendor/zoo-modeling-app/HicadProjectExperience.tsx.template' ), 'utf8' ) expect(script).toContain('HicadProjectExperience.tsx.template') expect(script).toContain('projectCount={scopedHomeProjectEntries.length}') expect(script).toContain('thumbnailFallback') expect(script).toContain('最近编辑') expect(experience).toContain('我的 CAD 项目') expect(experience).toContain('编辑内容会自动保存') expect(experience).toContain('自动保存已开启') expect(experience).toContain('data-testid="hicad-create-project"') expect(experience).toContain('data-testid="hicad-create-from-sample"') }) test('keeps new project creation simple and understandable', () => { const script = fs.readFileSync( path.join(projectRoot, 'scripts/vendor-zoo-modeling-app.mjs'), 'utf8' ) const localization = fs.readFileSync( path.join(projectRoot, 'vendor/zoo-modeling-app/localization.ts'), 'utf8' ) expect(script).toContain('新建 CAD 项目') expect(script).toContain("displayName: '项目名称'") expect(script).toContain('例如:五金连接安装板') expect(script).toContain("defaultValue: () => ''") expect(localization).toContain("['Submit', '确认']") expect(localization).toContain("['Continue', '下一步']") expect(localization).toContain("['Step back', '返回上一步']") expect(localization).toContain('还没有项目,点击“新建项目”开始设计。') expect(localization).toContain("[data-testid='home-sidebar']") }) })