|
| 1 | +// e2e/createInvitation.spec.ts |
| 2 | +import { test, expect } from '@playwright/test'; |
| 3 | + |
| 4 | +test.describe('CreateInvitationPage', () => { |
| 5 | + test.beforeEach(async ({ page }) => { |
| 6 | + // 로그인 후 초대장 생성 페이지로 이동 |
| 7 | + await page.goto('/login'); |
| 8 | + //하드 코딩 되어있는 테스트용 계정 로그인 정보 |
| 9 | + await page.fill('input[name="email"]', 'testuser@example.com'); |
| 10 | + await page.fill('input[name="password"]', ' TestPassword123!'); |
| 11 | + await page.click('button[type="submit"]'); |
| 12 | + //하드 코딩 되어있는 invitationID |
| 13 | + await page.goto('/create/129'); |
| 14 | + }); |
| 15 | + |
| 16 | + test('초기 렌더링 및 필수 입력값 검증', async ({ page }) => { |
| 17 | + await expect(page.getByLabel('이름')).toBeVisible(); |
| 18 | + await expect(page.getByLabel('날짜')).toBeVisible(); |
| 19 | + // await expect(page.getByText('이름을 입력하세요')).toBeVisible(); |
| 20 | + // await expect(page.getByText('날짜를 입력하세요')).toBeVisible(); |
| 21 | + }); |
| 22 | + |
| 23 | + // test('이미지 업로드', async ({ page }) => { |
| 24 | + // const filePath = 'src/assets/image/wedding1.png'; |
| 25 | + // await page.setInputFiles('input[type="file"]', filePath); |
| 26 | + // await expect(page.locator('.image-preview')).toBeVisible(); |
| 27 | + // }); |
| 28 | + |
| 29 | + // test('음악/테마 선택', async ({ page }) => { |
| 30 | + // await page.selectOption('select[name="music"]', 'aBeautifulPlan'); |
| 31 | + // await page.selectOption('select[name="theme"]', 'classic'); |
| 32 | + // await expect(page.getByText('aBeautifulPlan')).toBeVisible(); |
| 33 | + // await expect(page.getByText('classic')).toBeVisible(); |
| 34 | + // }); |
| 35 | + |
| 36 | + test('초대장 미리보기', async ({ page }) => { |
| 37 | + await page.fill('input[name="name"]', '테스트 초대장'); |
| 38 | + await page.fill('input[name="date"]', '2024-12-31'); |
| 39 | + await page.click('button.preview'); |
| 40 | + await expect(page.getByText('테스트 초대장')).toBeVisible(); |
| 41 | + await expect(page.getByText('2024-12-31')).toBeVisible(); |
| 42 | + }); |
| 43 | + |
| 44 | + // test('초대장 생성 성공', async ({ page }) => { |
| 45 | + // await page.fill('input[name="name"]', '테스트 초대장'); |
| 46 | + // await page.fill('input[name="date"]', '2024-12-31'); |
| 47 | + // await page.fill('input[name="location"]', '서울'); |
| 48 | + // await page.click('button[type="submit"]'); |
| 49 | + // await expect(page).toHaveURL('/dashboard'); |
| 50 | + // await expect(page.getByText('초대장이 생성되었습니다')).toBeVisible(); |
| 51 | + // }); |
| 52 | + |
| 53 | + // test('취소/초기화 동작', async ({ page }) => { |
| 54 | + // await page.fill('input[name="name"]', '임시 입력'); |
| 55 | + // await page.click('button.cancel'); |
| 56 | + // await expect(page.getByLabel('이름')).toHaveValue(''); |
| 57 | + // }); |
| 58 | +}); |
0 commit comments