all repos — caroster @ e3f8c146e8fd76e38f0100b8d59720069ebdde4e

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

e2e/test/pages/utils/scene.js (view raw)

 1/* eslint-disable class-methods-use-this */
 2const faker = require('faker');
 3const axios = require('axios');
 4class _Scene {
 5  constructor() {
 6    this.scene = undefined;
 7    this.actor = this.randomActor();
 8    this.event = this.randomEvent();
 9  }
10
11  /**
12   * @returns {Object}
13   */
14  randomActor() {
15    return {
16      email: faker.internet.email(),
17    };
18  }
19
20  randomEvent() {
21    return {
22      address: `${faker.address.streetAddress()}, ${faker.address.zipCode()} ${faker.address.city()}`,
23      date: faker.date.future(),
24      name: `${faker.hacker.noun()} ${faker.hacker.verb()} ${faker.hacker.adjective()}`,
25    };
26  }
27  /**
28   * Create an event and set an event id.
29   * @return {string} the new event id
30   */
31  async createEvent() {
32    const {
33      data: {id},
34    } = await axios.post(`${process.env.BASE_URL}/events`, {
35      address: this.event.address,
36      date: this.event.date.toISOString(),
37      email: this.actor.email,
38      name: this.event.name,
39    });
40    this.event.id = id;
41    return id;
42  }
43}
44exports.Scene = new _Scene();