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