개선: 배포 검증과 관리자 UX 안정화
TaxBaik Browser E2E / browser-e2e (push) Failing after 1m3s
TaxBaik CI/CD / build-and-deploy (push) Failing after 2m46s

This commit is contained in:
2026-06-27 20:57:09 +09:00
parent 64b08831e8
commit f29f2c3cff
51 changed files with 948 additions and 199 deletions
+21
View File
@@ -0,0 +1,21 @@
import { expect, test } from '@playwright/test';
const baseUrl = (process.env.E2E_BASE_URL ?? 'http://178.104.200.7/taxbaik').replace(/\/$/, '');
test.describe('blog seo', () => {
test('exposes title description and canonical on blog detail pages', async ({ page }) => {
await page.goto(`${baseUrl}/blog`);
const firstPost = page.locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '읽기' }).first();
await expect(firstPost).toBeVisible();
const detailHref = await firstPost.getAttribute('href');
expect(detailHref).toMatch(/^\/taxbaik\/blog\/[a-z0-9-]+$/);
const detailPath = detailHref?.replace('/taxbaik', '') ?? '/blog';
const response = await page.goto(`${baseUrl}${detailPath}`);
expect(response, 'blog detail response should be returned').toBeTruthy();
expect(response!.status(), `blog detail response for ${detailPath} should be successful`).toBe(200);
await expect(page.locator('meta[name="description"]')).toHaveAttribute('content', /.+/);
await expect(page.locator('link[rel="canonical"]')).toHaveAttribute('href', /\/taxbaik\/blog\/[a-z0-9-]+$/);
await expect(page.getByRole('heading', { level: 1 })).toBeVisible();
});
});