test(ci): add exporter heading levels and a11y typography smoke; update MAIN_PLAN
CI / test (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import { createBuilderStore, type Section } from '@/lib/state/store'
|
||||
|
||||
describe('builder store (zustand)', () => {
|
||||
it('섹션 추가/이동/삭제와 로케일 변경을 지원한다', () => {
|
||||
const useStore = createBuilderStore()
|
||||
const s1: Section = { type: 'hero', props: { heading: 'H1' } }
|
||||
const s2: Section = { type: 'faq', props: { items: [] } }
|
||||
const s3: Section = { type: 'cta', props: { text: 'Go' } }
|
||||
|
||||
// 초기 상태
|
||||
expect(useStore.getState().locale).toBe('en')
|
||||
expect(useStore.getState().sections.length).toBe(0)
|
||||
|
||||
// 추가
|
||||
useStore.getState().addSection(s1)
|
||||
useStore.getState().addSection(s2)
|
||||
useStore.getState().addSection(s3)
|
||||
expect(useStore.getState().sections.map(s => s.type)).toEqual(['hero','faq','cta'])
|
||||
|
||||
// 이동 (index 0 -> 2)
|
||||
useStore.getState().moveSection(0, 2)
|
||||
expect(useStore.getState().sections.map(s => s.type)).toEqual(['faq','cta','hero'])
|
||||
|
||||
// 삭제 (index 1: 'cta')
|
||||
useStore.getState().removeSection(1)
|
||||
expect(useStore.getState().sections.map(s => s.type)).toEqual(['faq','hero'])
|
||||
|
||||
// 로케일 변경
|
||||
useStore.getState().setLocale('ko')
|
||||
expect(useStore.getState().locale).toBe('ko')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user