1+ import { test , expect } from '@playwright/test' ;
2+
3+ test ( 'create-profile-and-create-event' , async ( { page, context } ) => {
4+ // Grant geolocation permission and set a default location
5+ await context . grantPermissions ( [ 'geolocation' ] ) ;
6+ await context . setGeolocation ( { latitude : 48.8566 , longitude : 2.3522 } ) ; // Paris coordinates
7+
8+ // Generate unique email using Unix timestamp in milliseconds
9+ const timestamp = Date . now ( ) ;
10+ const uniqueEmail = `playwright_test_${ timestamp } @email.com` ;
11+
12+ await page . goto ( 'http://localhost:4200/landing?returnUrl=%2Ftabs%2Fhome' ) ;
13+ await page . getByRole ( 'button' , { name : 'Continue As Guest' } ) . click ( ) ;
14+ await expect ( page . locator ( 'app-home' ) ) . toContainText ( 'Set your name and claim your account! This ensures you\'re able to recover your account if signed out.' ) ;
15+ await page . getByText ( 'Set your name and claim your' ) . click ( ) ;
16+ await page . locator ( '#ion-input-2' ) . click ( ) ;
17+ await page . locator ( '#ion-input-2' ) . fill ( 'playwright_test' ) ;
18+ await page . locator ( '#ion-input-3' ) . click ( ) ;
19+ await page . locator ( '#ion-input-3' ) . fill ( 'test' ) ;
20+ await page . locator ( '#ion-input-4' ) . click ( ) ;
21+ await page . locator ( '#ion-input-4' ) . fill ( uniqueEmail ) ;
22+ await page . locator ( '#ion-input-7' ) . click ( ) ;
23+ await page . locator ( '#ion-input-7' ) . fill ( 'playwright_test' ) ;
24+ await page . getByRole ( 'button' , { name : 'Save' } ) . click ( ) ;
25+ await expect ( page . locator ( 'ion-tabs' ) ) . toContainText ( 'playwright_test test' ) ;
26+ await page . locator ( '#tab-button-home > .ios > .icon-inner > .ionicon' ) . click ( ) ;
27+ await page . locator ( 'ion-fab-button > .ios > .icon-inner > .ionicon' ) . first ( ) . click ( ) ;
28+ await page . locator ( 'circle' ) . first ( ) . click ( ) ;
29+ await page . getByRole ( 'textbox' , { name : '*' } ) . click ( ) ;
30+ await page . getByRole ( 'textbox' , { name : '*' } ) . fill ( 'playwright_test_event' ) ;
31+ await page . locator ( 'input[name="ion-input-11"]' ) . click ( ) ;
32+ await page . locator ( 'input[name="ion-input-11"]' ) . fill ( '0' ) ;
33+ await page . locator ( 'input[name="ion-input-12"]' ) . click ( ) ;
34+ await page . locator ( 'input[name="ion-input-12"]' ) . fill ( '2' ) ;
35+ await page . locator ( '#ion-textarea-0' ) . click ( ) ;
36+ await page . locator ( '#ion-textarea-0' ) . fill ( 'description of event' ) ;
37+ await page . locator ( '#ion-input-13' ) . click ( ) ;
38+ await page . getByRole ( 'searchbox' , { name : 'search text' } ) . click ( ) ;
39+ await page . getByRole ( 'searchbox' , { name : 'search text' } ) . fill ( 'paris' ) ;
40+ await page . waitForTimeout ( 500 ) ;
41+ await page . getByText ( / f r a n c e / i) . first ( ) . click ( { force : true } ) ;
42+ await page . getByRole ( 'button' , { name : 'Select Location' } ) . click ( ) ;
43+ await page . getByRole ( 'button' , { name : 'Create' } ) . click ( ) ;
44+ await expect ( page . locator ( 'ion-card-title' ) ) . toContainText ( 'playwright_test_event' ) ;
45+ } ) ;
0 commit comments