- ②의 교대 편집 영역에서 기본 정보 6칸과 기본값 복원 버튼을 뺌. 기본 정보 편집과 복원은 ①에만 남김 - ②의 삽도에 교좌면·기초 하단·지반고 값을 읽기 전용 라벨로 표시 (abut-section-svg.ts의 AbutLevels) - 날개벽 형식은 ②의 날개벽 카드에 그대로 둠 - 테스트 631건 통과, 타입 검사·빌드 통과. 브라우저 시각 확인은 미실시 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
35 lines
1.6 KiB
TypeScript
35 lines
1.6 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { ABUT_SHAPE_DEFAULT, resolveShape } from '../src/core/abut/shape';
|
|
import { abutSectionSvg } from '../src/view/abut-section-svg';
|
|
|
|
describe('교대 삽도 (벽체·흉벽 개략 단면, 시안 ②)', () => {
|
|
it('names the card values in mm, including the new ones', () => {
|
|
const svg = abutSectionSvg(resolveShape(), ABUT_SHAPE_DEFAULT);
|
|
expect(svg).toContain('흉벽 높이 2500');
|
|
expect(svg).toContain('벽체 두께 2400');
|
|
expect(svg).toContain('저판 뒷굽 -1800');
|
|
expect(svg).toContain('수축줄눈 1개');
|
|
expect(svg).toContain('Level 좌 450 · 우 995');
|
|
});
|
|
|
|
it('follows a changed value, and says it is not to scale', () => {
|
|
const v = { ...ABUT_SHAPE_DEFAULT, shrinkJointCount: 3, parapetHeightMm: 2200 };
|
|
const svg = abutSectionSvg(resolveShape(v), v);
|
|
expect(svg).toContain('수축줄눈 3개');
|
|
expect(svg).toContain('흉벽 높이 2200');
|
|
expect(svg).toContain('축척 아님');
|
|
});
|
|
|
|
it('names the 교좌면, 기초 하단 and 지반고 EL as read-only labels when given', () => {
|
|
const svg = abutSectionSvg(resolveShape(), ABUT_SHAPE_DEFAULT, { seatEl: 44.367, footingBottomEl: 40.895, groundEl: 33.984 });
|
|
expect(svg).toContain('교좌면 44.367 · 기초 하단 40.895 · 지반고 33.984 m');
|
|
});
|
|
|
|
it('draws the footing, wall and parapet as separate shapes', () => {
|
|
const svg = abutSectionSvg(resolveShape(), ABUT_SHAPE_DEFAULT);
|
|
expect(svg.match(/<rect /g)).toHaveLength(3);
|
|
expect(svg.startsWith('<svg')).toBe(true);
|
|
expect(svg.endsWith('</svg>')).toBe(true);
|
|
});
|
|
});
|