mirror of https://github.com/YunYouJun/valaxy
ci: ignore third urls for e2e test
This commit is contained in:
parent
cf161b6d27
commit
4c0e5f9a6b
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* ignore when test
|
||||
*/
|
||||
export const abortUrls = [
|
||||
'hitokoto.cn',
|
||||
'utteranc.es',
|
||||
'busuanzi.ibruce.info',
|
||||
]
|
|
@ -14,7 +14,7 @@ test.describe('Categories Page', () => {
|
|||
searchParams.set('category', curCategory)
|
||||
|
||||
const url = `/categories?${searchParams.toString()}`
|
||||
await page.goto(url)
|
||||
await page.goto(url, { waitUntil: 'domcontentloaded' })
|
||||
// .post-item
|
||||
await expect(page.locator('.post-item')).toHaveCount(1)
|
||||
// first post
|
||||
|
|
|
@ -7,7 +7,7 @@ test.use({
|
|||
|
||||
test.describe('Encrypted Post', () => {
|
||||
test('encrypted post', async ({ page }) => {
|
||||
await page.goto('/posts/encrypted-post')
|
||||
await page.goto('/posts/encrypted-post', { waitUntil: 'domcontentloaded' })
|
||||
|
||||
await page.waitForSelector('.markdown-body')
|
||||
await expect(page.locator('.decrypt-password-container')).toHaveCount(1)
|
||||
|
|
|
@ -1,15 +1,14 @@
|
|||
import { expect, test } from '@playwright/test'
|
||||
import { env } from '../env'
|
||||
import { commonBeforeEach } from '../utils'
|
||||
|
||||
test.use({
|
||||
baseURL: env['theme-yun'],
|
||||
})
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/')
|
||||
})
|
||||
|
||||
test.describe('Frontmatter', () => {
|
||||
commonBeforeEach()
|
||||
|
||||
test('posted & edited time', async ({ page }) => {
|
||||
await page.goto('/posts/hello-valaxy')
|
||||
await page.waitForSelector('.post-meta')
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
import { expect, test } from '@playwright/test'
|
||||
import { env } from '../env'
|
||||
import { commonBeforeEach } from '../utils'
|
||||
|
||||
test.use({
|
||||
baseURL: env['theme-yun'],
|
||||
})
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/')
|
||||
})
|
||||
commonBeforeEach()
|
||||
|
||||
test.describe('Theme Yun', () => {
|
||||
test('banner', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
// refresh to trigger animation
|
||||
await page.reload()
|
||||
await page.waitForSelector('#yun-banner')
|
||||
|
@ -24,10 +24,12 @@ test.describe('Theme Yun', () => {
|
|||
// })
|
||||
|
||||
test('post list', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
await expect(page.locator('.post-title-link').nth(0)).toHaveText('Hello, Valaxy!')
|
||||
})
|
||||
|
||||
test('enter post', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
await page.click('.post-title-link')
|
||||
await page.waitForURL('/posts/hello-valaxy')
|
||||
await expect(page.locator('h1')).toHaveText('Hello, Valaxy!')
|
||||
|
@ -39,20 +41,10 @@ test.describe('Theme Yun', () => {
|
|||
})
|
||||
|
||||
test('search', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
await page.click('.yun-search-btn')
|
||||
await expect(page.locator('.yun-search-input')).toHaveCount(1)
|
||||
await page.click('.yun-search-btn')
|
||||
await expect(page.locator('.yun-search-input')).toHaveCount(0)
|
||||
})
|
||||
})
|
||||
|
||||
test.describe('Theme Yun - Post', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/posts/hello-valaxy')
|
||||
})
|
||||
|
||||
// new version deprecated
|
||||
// test('sidebar', async ({ page }) => {
|
||||
// await expect(page.locator('.sidebar')).toBeVisible()
|
||||
// })
|
||||
})
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
import { expect, test } from '@playwright/test'
|
||||
import { env } from '../../env'
|
||||
import { commonBeforeEach } from '../../utils'
|
||||
|
||||
test.use({
|
||||
baseURL: env['theme-yun'],
|
||||
})
|
||||
|
||||
commonBeforeEach()
|
||||
|
||||
test.describe('markdown footnote tooltip', () => {
|
||||
test('visibility', async ({ page }) => {
|
||||
await page.goto('/posts/hello-valaxy')
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
import { expect, test } from '@playwright/test'
|
||||
import { env } from '../../env'
|
||||
import { commonBeforeEach } from '../../utils'
|
||||
|
||||
test.use({
|
||||
baseURL: env['theme-yun'],
|
||||
})
|
||||
|
||||
commonBeforeEach()
|
||||
|
||||
test.describe('Markdown File Inclusion by @include', () => {
|
||||
test('test/markdown-file-inclusion', async ({ page }) => {
|
||||
await page.goto('/test/markdown-file-inclusion')
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
import { expect, test } from '@playwright/test'
|
||||
import { env } from '../env'
|
||||
import { commonBeforeEach } from '../utils'
|
||||
|
||||
test.use({
|
||||
baseURL: env['theme-yun'],
|
||||
})
|
||||
|
||||
commonBeforeEach()
|
||||
|
||||
test.describe('outline', () => {
|
||||
test('long toc scroll', async ({ page }) => {
|
||||
await page.goto('/posts/long-toc')
|
||||
|
|
|
@ -6,13 +6,12 @@ test.use({
|
|||
baseURL: env['theme-yun'],
|
||||
})
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
process.env.TZ = 'Asia/Shanghai'
|
||||
|
||||
await page.goto('/posts/date')
|
||||
})
|
||||
|
||||
test.describe('Frontmatter', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
process.env.TZ = 'Asia/Shanghai'
|
||||
await page.goto('/posts/date', { waitUntil: 'domcontentloaded' })
|
||||
})
|
||||
|
||||
for (let i = 0; i < dateExamples.length; i++) {
|
||||
const example = dateExamples[i]
|
||||
test(`timezone format validation(${i}) ${example.date}`, async ({ page }) => {
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
import { expect, test } from '@playwright/test'
|
||||
import { env } from '../env'
|
||||
import { commonBeforeEach } from '../utils'
|
||||
|
||||
test.use({
|
||||
baseURL: env['theme-yun'],
|
||||
})
|
||||
|
||||
commonBeforeEach()
|
||||
|
||||
test.describe('TOC', () => {
|
||||
test('toc generate', async ({ page }) => {
|
||||
await page.goto('/posts/hello-valaxy')
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
import { test } from '@playwright/test'
|
||||
import { abortUrls } from '../config'
|
||||
|
||||
export function commonBeforeEach() {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.route('**/*', (route) => {
|
||||
const url = route.request().url()
|
||||
if (abortUrls.some(abortUrl => url.includes(abortUrl))) {
|
||||
return route.abort()
|
||||
}
|
||||
return route.continue()
|
||||
})
|
||||
})
|
||||
}
|
Loading…
Reference in New Issue