e2e/tests/6.travel.test.ts (view raw)
1import { EVENT_ID, TRAVEL, TRAVEL_ID } from "../constants";
2import { TravelInput } from "../graphql";
3import { sdk } from "../lib/gqlSdk";
4import { getJwtToken } from "../lib/strapi-utils";
5
6test("createTravel returns created travel", async () => {
7 const travel: TravelInput = {
8 vehicleName: "Test travel car",
9 departure: "2023-08-12T13:57:40.093Z",
10 meeting: "Test",
11 seats: 3,
12 };
13 const request = sdk.createTravel({ travel: { ...travel, event: EVENT_ID } });
14
15 await expect(request).resolves.toMatchObject({
16 createTravel: {
17 data: {
18 id: expect.any(String),
19 attributes: travel,
20 },
21 },
22 });
23});
24
25test("updateTravel returns updated travel", async () => {
26 const travelUpdate = {
27 vehicleName: "Updated travel car name",
28 seats: 12,
29 };
30 const request = sdk.updateTravel({ id: "1", travelUpdate });
31
32 await expect(request).resolves.toMatchObject({
33 updateTravel: {
34 data: {
35 id: expect.any(String),
36 attributes: {
37 ...travelUpdate,
38 meeting: TRAVEL.meeting,
39 },
40 },
41 },
42 });
43});
44
45test("deleteTravel returns ID of deleted travel", async () => {
46 const request = sdk.deleteTravel({ id: TRAVEL_ID });
47
48 await expect(request).resolves.toMatchObject({
49 deleteTravel: {
50 data: {
51 id: TRAVEL_ID,
52 },
53 },
54 });
55});
56
57test("createTravel creates a vehicle with 'createVehicle' param and logged user", async () => {
58 const jwt = await getJwtToken();
59
60 const travel = {
61 vehicleName: "My travel's car",
62 seats: 2,
63 phone_number: "12",
64 };
65 const request = sdk.createTravel(
66 {
67 createVehicle: true,
68 travel,
69 },
70 {
71 authorization: `Bearer ${jwt}`,
72 }
73 );
74
75 await expect(request).resolves.toMatchObject({
76 createTravel: {
77 data: {
78 attributes: travel,
79 },
80 },
81 });
82});