all repos — caroster @ b543b412be399212ee03ca75483edab2b14706f1

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

e2e/tests/8.vehicle.test.ts (view raw)

 1import { USER_ID, VEHICLE, VEHICLE_ID } from "../constants";
 2import { sdk } from "../lib/gqlSdk";
 3import { getJwtToken } from "../lib/strapi-utils";
 4
 5test("findUserVehicles returns vehicles of logged user", async () => {
 6  const jwt = await getJwtToken();
 7  const request = sdk.findUserVehicles(undefined, {
 8    authorization: `Bearer ${jwt}`,
 9  });
10
11  await expect(request).resolves.toMatchObject({
12    me: {
13      id: USER_ID,
14      profile: {
15        vehicles: {
16          data: expect.arrayContaining([
17            {
18              id: VEHICLE_ID,
19              attributes: {
20                name: VEHICLE.name,
21                phoneCountry: null,
22                phone_number: VEHICLE.phone_number,
23                seats: VEHICLE.seats,
24              },
25            },
26          ]),
27        },
28      },
29    },
30  });
31});
32
33test("findUserVehicles throws error if no auth", async () => {
34  const request = sdk.findUserVehicles();
35  await expect(request).rejects.toThrow("Forbidden access:");
36});
37
38test("deleteVehicle returns ID of deleted vehicle", async () => {
39  const jwt = await getJwtToken();
40  const request = sdk.deleteVehicle(
41    { id: VEHICLE_ID },
42    {
43      authorization: `Bearer ${jwt}`,
44    }
45  );
46
47  await expect(request).resolves.toMatchObject({
48    deleteVehicle: {
49      data: {
50        id: VEHICLE_ID,
51        attributes: {
52          name: expect.any(String),
53        },
54      },
55    },
56  });
57});
58
59test("deleteVehicle fails if logged user doesn't own the vehicle", async () => {
60  const jwt = await getJwtToken();
61  const request = sdk.deleteVehicle(
62    { id: "2" },
63    {
64      authorization: `Bearer ${jwt}`,
65    }
66  );
67
68  await expect(request).rejects.toThrow();
69});