test(ci): add exporter heading levels and a11y typography smoke; update MAIN_PLAN

This commit is contained in:
2025-11-14 16:40:45 +09:00
parent aaa624a046
commit a9bbc357e7
92 changed files with 8370 additions and 13 deletions
@@ -0,0 +1,34 @@
import { describe, it, expect } from 'vitest'
import { render, screen, fireEvent } from '@testing-library/react'
import React from 'react'
import { NextIntlClientProvider } from 'next-intl'
import enMessages from '@/messages/en.json'
import BuilderClientPage from '@/components/BuilderClientPage'
const messages: Record<string, string> = enMessages as Record<string, string>
describe('BuilderClientPage - Inspector panel', () => {
it('섹션 선택 후 인스펙터에서 Hero heading을 편집할 수 있다', () => {
render(
<NextIntlClientProvider locale="en" messages={messages}>
<BuilderClientPage />
</NextIntlClientProvider>
)
// Hero 섹션 추가 (data-testid 사용)
fireEvent.click(screen.getByTestId('btn-add-hero'))
// 캔버스에서 첫 섹션 선택
fireEvent.click(screen.getByLabelText('Select 0'))
// 인스펙터에서 Hero Heading 입력 존재
const heading = screen.getByLabelText('Hero Heading') as HTMLInputElement
expect(heading).toBeInTheDocument()
// 기본값 존재(Welcome)
expect(heading.value).toBeTruthy()
// 값 변경
fireEvent.change(heading, { target: { value: 'Hello World' } })
expect((screen.getByLabelText('Hero Heading') as HTMLInputElement).value).toBe('Hello World')
})
})