all repos — caroster @ e3f8c146e8fd76e38f0100b8d59720069ebdde4e

[Octree] Group carpool to your event https://caroster.io

e2e/test/pages/eventPage.js (view raw)

 1import {Page} from './_page';
 2import {EventDetails} from './eventDetails';
 3class _EventPage extends Page {
 4  /**
 5   *
 6   * @param {string} selector
 7   * @return {string}
 8   */
 9  field(selector) {
10    switch (selector) {
11      case 'menu':
12        return '#MenuMoreInfo';
13      case 'title':
14        return '#MenuHeaderTitle';
15      case 'detail tab':
16        return '#DetailsTab';
17      case 'new car tab':
18        return '#NewCarTab';
19      case 'invite tab':
20        return '#InviteTab';
21    }
22    throw new Error('Unknown selector ' + selector);
23  }
24
25  get name() {
26    return 'EventDetail';
27  }
28
29  async open() {
30    this._path = `/e/${global.SCENE.event.id}`;
31    return super.open();
32  }
33  async openMenu() {
34    const menu = await $(this.field('menu'));
35    await menu.click();
36    await browser.saveScreenshotByName(`${this.name}--openMenu`);
37  }
38  async openTab(tab) {
39    await this.openMenu();
40    switch (tab) {
41      case 'details':
42        const tab = await $(this.field('detail tab'));
43        await tab.click();
44        global.SCENE.scene = EventDetails;
45        await EventDetails.waitForDisplayed();
46    }
47  }
48
49  async submit() {
50    await super.submit();
51  }
52}
53export const EventPage = new _EventPage('/event/myevent-id');