mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
888 B
37 lines
888 B
4 years ago
|
import { styles } from './subjects/pimp-my-style/data.js'
|
||
4 years ago
|
|
||
|
export const tests = []
|
||
|
|
||
|
const formatClass = (limit, unpimp) =>
|
||
|
['button', ...styles.slice(0, limit), unpimp && 'unpimp'].filter(Boolean)
|
||
|
|
||
|
const max = styles.length - 1
|
||
|
|
||
|
export const setup = async ({ page }) => {
|
||
|
const btn = await page.$('.button')
|
||
|
|
||
|
return {
|
||
|
btn,
|
||
|
getClass: async () =>
|
||
|
(await (await btn.getProperty('className')).jsonValue()).split(' '),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
tests.push(async ({ page, eq, btn, getClass }) => {
|
||
|
// pimp
|
||
|
for (const i of styles.keys()) {
|
||
|
console.log('pimp click', i + 1)
|
||
|
await btn.click()
|
||
|
eq(formatClass(i + 1, i === max), await getClass())
|
||
|
}
|
||
|
})
|
||
|
|
||
|
tests.push(async ({ page, eq, btn, getClass }) => {
|
||
|
// unpimp !
|
||
|
for (const i of styles.keys()) {
|
||
|
console.log('unpimp click', i + 1)
|
||
|
await btn.click()
|
||
|
eq(formatClass(max - i, i !== max), await getClass())
|
||
|
}
|
||
|
})
|