all repos — caroster @ 6fc46298959978b218a66da7352e0fae5f470e4c

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

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

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