Files
doneit-web/test/login.spec.ts
T
Peter Maquiran c2e7ea799e Improve login
2021-07-18 14:21:56 +01:00

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);
});