mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
119 lines
3.2 KiB
TypeScript
119 lines
3.2 KiB
TypeScript
import { environment } from './../src/environments/environment'
|
|
|
|
|
|
const windowSet = (page, name, value) => {
|
|
page.evaluateOnNewDocument(`
|
|
Object.defineProperty(window, '${name}', {
|
|
get() {
|
|
return '${value}'
|
|
}
|
|
})
|
|
`)
|
|
}
|
|
|
|
export const loginTest = async (page) => {
|
|
await page.setViewport({width: 1200, height: 720});
|
|
await page.goto(process.env.PUPPETEER_HOST); // wait until page load
|
|
await page.waitForSelector('.btn-ok')
|
|
await page.waitForSelector('ion-app')
|
|
|
|
const pathname = await page.evaluate( () => window.location.pathname)
|
|
|
|
if (pathname == '/') {
|
|
await page.evaluate( () => {
|
|
let a: HTMLInputElement = document.querySelector('input[type="text"]')
|
|
a.value = ''
|
|
|
|
let b: HTMLInputElement = document.querySelector('input[type="password"')
|
|
b.value = ''
|
|
})
|
|
|
|
await page.type('input[type="text"]', environment.defaultuser);
|
|
await page.type('input[type="password"]', environment.defaultuserpwd);
|
|
// click and wait for navigation
|
|
|
|
windowSet(page, 'cy', true)
|
|
|
|
await Promise.all([
|
|
page.click('.btn-ok'),
|
|
// page.waitForNavigation({ waitUntil: 'networkidle0' }),
|
|
]);
|
|
|
|
await page.waitForSelector('.circle')
|
|
// define code
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
|
|
// clear code
|
|
await page.click('.cy-clear')
|
|
|
|
// define code
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
|
|
await page.waitForSelector('.div-profile')
|
|
}
|
|
}
|
|
|
|
describe('Puppeteer tests', () => {
|
|
|
|
beforeAll(async () => {
|
|
// await page.goto(process.env.PUPPETEER_HOST)
|
|
})
|
|
|
|
test('[table] Clear Code button and set pin', async () => {
|
|
|
|
const pathname = await page.evaluate( () => window.location.pathname)
|
|
if (pathname == '/') {
|
|
|
|
// const browser = await puppeteer.launch({headless: false});
|
|
await page.setViewport({width: 1200, height: 720});
|
|
await page.goto(process.env.PUPPETEER_HOST); // wait until page load
|
|
await page.waitForSelector('.btn-ok')
|
|
|
|
|
|
await page.evaluate( () => {
|
|
let a: HTMLInputElement = document.querySelector('input[type="text"]')
|
|
a.value = ''
|
|
|
|
let b: HTMLInputElement = document.querySelector('input[type="password"')
|
|
b.value = ''
|
|
})
|
|
|
|
await page.type('input[type="text"]', environment.defaultuser);
|
|
await page.type('input[type="password"]', environment.defaultuserpwd);
|
|
// click and wait for navigation
|
|
await Promise.all([
|
|
page.click('.btn-ok'),
|
|
// page.waitForNavigation({ waitUntil: 'networkidle0' }),
|
|
]);
|
|
|
|
await page.waitForSelector('.circle')
|
|
// define code
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
|
|
// clear code
|
|
await page.click('.cy-clear')
|
|
|
|
// define code
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
await page.click('.circle')
|
|
|
|
await page.waitForSelector('.div-profile')
|
|
await page.click('.div-profile')
|
|
|
|
}
|
|
|
|
expect(3 + 2).toBe(5);
|
|
},30000);
|
|
|
|
});
|
|
|