Files
doneit-web/test/Agenda.spec.ts
T

104 lines
4.1 KiB
TypeScript
Raw Normal View History

2021-07-14 11:37:31 +01:00
import { environment } from '../src/environments/environment'
2021-07-14 13:17:57 +01:00
import { loginTest } from './login.spec'
2021-07-14 22:10:22 +01:00
import * as faker from 'faker';
2021-07-14 13:17:57 +01:00
2021-07-14 22:10:22 +01:00
faker.locale = "pt_PT";
2021-07-14 11:37:31 +01:00
describe('Puppeteer tests', () => {
beforeAll(async () => {
// await page.goto(process.env.PUPPETEER_HOST)
})
2021-07-14 15:38:58 +01:00
test('Login', async()=> {
await loginTest(page)
},30000)
2021-07-14 14:29:03 +01:00
test('[table] Open create event component', async () => {
2021-07-14 11:37:31 +01:00
await page.setViewport({width: 1200, height: 720});
await page.goto(process.env.PUPPETEER_HOST); // wait until page load
2021-07-14 13:17:57 +01:00
await page.waitForSelector('ion-app')
2021-07-14 15:38:58 +01:00
// wait for footer button
await page.click('ion-tab-bar ion-tab-button:nth-child(2)')
await page.waitForSelector('app-agenda')
// click add event
await page.click('ion-content ion-row .cy-add-event')
// wait for component
await page.waitForSelector('app-new-event')
expect(3 + 2).toBe(5);
},30000);
test('[table] Create Event', async () => {
await page.setViewport({width: 1200, height: 720});
await page.goto(process.env.PUPPETEER_HOST); // wait until page load
await page.waitForSelector('ion-app')
2021-07-14 13:17:57 +01:00
// wait for footer button
await page.click('ion-tab-bar ion-tab-button:nth-child(2)')
2021-07-14 15:38:58 +01:00
await page.waitForSelector('app-agenda')
2021-07-14 13:17:57 +01:00
// click add event
await page.click('ion-content ion-row .cy-add-event')
2021-07-14 15:38:58 +01:00
// wait for component
2021-07-14 11:37:31 +01:00
await page.waitForSelector('app-new-event')
2021-07-14 22:10:22 +01:00
// subject
await page.type('app-new-event .ion-item-container input', faker.commerce.productDescription() )
// Location
await page.type('app-new-event .container-div:nth-child(2) input', faker.address.state()+" "+faker.address.city() )
// Select Calendar
await page.click('app-new-event .container-div:nth-child(3) .mat-form-field-flex')
await page.waitForSelector('.cdk-overlay-connected-position-bounding-box')
await page.click('.cdk-overlay-connected-position-bounding-box mat-option')
// select event type
await page.click('app-new-event .container-div:nth-child(4) .mat-form-field-flex')
await page.waitForSelector('.cdk-overlay-connected-position-bounding-box')
await page.click('.cdk-overlay-connected-position-bounding-box mat-option')
// select start day
await page.click('app-new-event .container-div:nth-child(5) button')
await page.waitForSelector('.cdk-overlay-connected-position-bounding-box')
await page.click('.mat-calendar-next-button')
let selectedFDay = Math.floor(Math.random()*(25-1+1)+1);
2021-07-14 11:37:31 +01:00
2021-07-14 22:10:22 +01:00
let days = await page.$$(` .mat-calendar-body-cell `)
await days[selectedFDay].click()
await page.click('.cdk-overlay-connected-position-bounding-box .actions button')
// select end day
await page.click('app-new-event .container-div:nth-child(6) button')
await page.waitForSelector('.cdk-overlay-connected-position-bounding-box')
await page.click('.mat-calendar-next-button')
days = await page.$$(` .mat-calendar-body-cell `)
await days[selectedFDay+1].click()
await page.click('.cdk-overlay-connected-position-bounding-box .actions button')
// await page.click('app-new-event .container-div:nth-child(7) .mat-form-field-flex')
// await page.waitForSelector('.cdk-overlay-connected-position-bounding-box')
// await page.click('.cdk-overlay-connected-position-bounding-box mat-option')
await page.click('app-new-event .container-div:nth-child(8) .add-people')
await page.waitForSelector('app-attendee-modal .ng-star-inserted:nth-child(2)')
await page.click('app-attendee-modal .ng-star-inserted:nth-child(2)')
// save
await page.click('app-attendee-modal ion-footer ion-buttons:nth-child(2)')
// save
let buttons = await page.$$('app-new-event ion-footer ion-buttons')
buttons[1].click()
await page.waitForSelector('.notification .success')
2021-07-14 11:37:31 +01:00
expect(3 + 2).toBe(5);
},30000);
});