all repos — caroster @ 6d34e82cb7b23a297cb314049eab1a599e50ffd7

[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                phone_number: VEHICLE.phone_number,
22                seats: VEHICLE.seats,
23              },
24            },
25          ]),
26        },
27      },
28    },
29  });
30});
31
32test("findUserVehicles throws error if no auth", async () => {
33  const request = sdk.findUserVehicles();
34  await expect(request).rejects.toThrow("Forbidden access:");
35});
36
37test("deleteVehicle returns ID of deleted vehicle", async () => {
38  const jwt = await getJwtToken();
39  const request = sdk.deleteVehicle(
40    { id: VEHICLE_ID },
41    {
42      authorization: `Bearer ${jwt}`,
43    }
44  );
45
46  await expect(request).resolves.toMatchObject({
47    deleteVehicle: {
48      data: {
49        id: VEHICLE_ID,
50        attributes: {
51          name: expect.any(String),
52        },
53      },
54    },
55  });
56});
57
58test("deleteVehicle fails if logged user doesn't own the vehicle", async () => {
59  const jwt = await getJwtToken();
60  const request = sdk.deleteVehicle(
61    { id: "2" },
62    {
63      authorization: `Bearer ${jwt}`,
64    }
65  );
66
67  await expect(request).rejects.toThrow("Not Authorized");
68});