import { USER_ID, VEHICLE, VEHICLE_ID } from "../constants"; import { sdk } from "../lib/gqlSdk"; import { getJwtToken } from "../lib/strapi-utils"; test("findUserVehicles returns vehicles of logged user", async () => { const jwt = await getJwtToken(); const request = sdk.findUserVehicles(undefined, { authorization: `Bearer ${jwt}`, }); await expect(request).resolves.toMatchObject({ me: { id: USER_ID, profile: { vehicles: [ { id: VEHICLE.id, name: VEHICLE.name, phone_number: VEHICLE.phone_number, seats: VEHICLE.seats, }, ], }, }, }); }); test("findUserVehicles throws error if no auth", async () => { const request = sdk.findUserVehicles(); await expect(request).rejects.toThrow("no_user"); }); test("deleteVehicle returns ID of deleted vehicle", async () => { const jwt = await getJwtToken(); const request = sdk.deleteVehicle( { id: VEHICLE_ID }, { authorization: `Bearer ${jwt}`, } ); await expect(request).resolves.toMatchObject({ deleteVehicle: { vehicle: { id: VEHICLE_ID, }, }, }); }); test.skip("deleteVehicle fails if logged user doesn't own vehicle", async () => { const jwt = await getJwtToken(); const request = sdk.deleteVehicle( { id: "2" }, { authorization: `Bearer ${jwt}`, } ); await expect(request).rejects.toThrow("yolo"); });