chore: perauset customer project
This commit is contained in:
64
e2e/tests/steps/boats.steps.ts
Normal file
64
e2e/tests/steps/boats.steps.ts
Normal file
@@ -0,0 +1,64 @@
|
||||
import { When } from '@cucumber/cucumber'
|
||||
import type { PerausetWorld } from '../support/world.js'
|
||||
|
||||
When('I create a boat route with name {string} origin {string} destination {string}', async function (this: PerausetWorld, name: string, origin: string, destination: string) {
|
||||
await this.post('/boats/routes', {
|
||||
name,
|
||||
origin,
|
||||
destination,
|
||||
})
|
||||
})
|
||||
|
||||
When('I create a boat with name {string} capacity {int}', async function (this: PerausetWorld, name: string, capacity: number) {
|
||||
await this.post('/boats', {
|
||||
name,
|
||||
passengerCapacity: capacity,
|
||||
})
|
||||
})
|
||||
|
||||
When('I create a boat trip for the route and boat departing {string}', async function (this: PerausetWorld, departureAt: string) {
|
||||
const routeId = (this as any).routeId
|
||||
const boatId = (this as any).boatId
|
||||
await this.post('/boats/trips', {
|
||||
routeId,
|
||||
boatId,
|
||||
scheduledDepartureAt: departureAt,
|
||||
})
|
||||
})
|
||||
|
||||
When('I open the boat trip', async function (this: PerausetWorld) {
|
||||
const tripId = (this as any).tripId
|
||||
await this.post(`/boats/trips/${tripId}/open`, {
|
||||
tripId,
|
||||
})
|
||||
})
|
||||
|
||||
When('I request a seat on the boat trip', async function (this: PerausetWorld) {
|
||||
const tripId = (this as any).tripId
|
||||
await this.post(`/boats/trips/${tripId}/request-seat`, {
|
||||
tripId,
|
||||
requestedSeats: 1,
|
||||
})
|
||||
})
|
||||
|
||||
When('I confirm the boat request', async function (this: PerausetWorld) {
|
||||
const boatRequestId = (this as any).boatRequestId
|
||||
await this.post(`/boats/requests/${boatRequestId}/confirm`, {
|
||||
requestId: boatRequestId,
|
||||
})
|
||||
})
|
||||
|
||||
When('I create a boat trip for the route without boat departing {string}', async function (this: PerausetWorld, departureAt: string) {
|
||||
const routeId = (this as any).routeId
|
||||
await this.post('/boats/trips', {
|
||||
routeId,
|
||||
scheduledDepartureAt: departureAt,
|
||||
})
|
||||
})
|
||||
|
||||
When('I cancel the boat trip', async function (this: PerausetWorld) {
|
||||
const tripId = (this as any).tripId
|
||||
await this.post(`/boats/trips/${tripId}/cancel`, {
|
||||
tripId,
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user