UnionInternationalCheminsdeFer / OSDM-testing

OSDM Test Scenario Team
http://testing.osdm.io/
0 stars 0 forks source link

OTST_TS_OB_MULTI_LEG_1 #11

Open Linus-Turnit opened 1 month ago

Linus-Turnit commented 1 month ago

Scenario with an offer request based on a trip specification with two consecutive legs operated by the same carrier. Tickets has through fare and only one fulfilment is created for the trip, booking request based on the response of the offer response. The booking will be fulfilled with status confirmed.

Scenario

  1. Generate and send a post offer request with a trip specification with two legs.
  2. Generate and send a post booking request
  3. Generate and send a post fulfillment request
  4. Generate and send a get booking request

Example data

{ 
    "type": " OTST_TS_OB_MULTI_LEG_1", 
    "currency": "EUR", 
    "service_class": "STANDARD", 
    "travel_class": "SECOND", 
    "legs": [
        {
            "origin": "urn:uic:stn:8400058", 
            "destination": "urn:uic:stn:8727100", 
            "start_datetime": "%TRIP_DATE%T07:00:00+02:00", 
            "end_datetime": "%TRIP_DATE%T10:20:00+02:00", 
            "product_category_ref": "", 
            "product_category_name": "",
            "product_category_short_name": "", 
            "vehicle_number": "OSDM_101", 
            "operator_code": "urn:uic:rics:1" 
        },
        {
            "origin": "urn:uic:stn: 8727100", 
            "destination": "urn:uic:stn:???????", 
            "start_datetime": "%TRIP_DATE%T11:00:00+02:00", 
            "end_datetime": "%TRIP_DATE%T12:20:00+02:00", 
            "product_category_ref": "", 
            "product_category_name": "",
            "product_category_short_name": "", 
            "vehicle_number": "OSDM_102", 
            "operator_code": "urn:uic:rics:1" 
        }
    ],
    “Passengers”: [
        {
            “externalRef”: “PAX1”,
            "type": "PERSON",
            "age": "40"
        }
    ]
} 

Suggested Validations per step

    • One trip with two timedLegs is returned
    • One offers with one admissions with offerMode = “INDIVIDUAL”
    • The admission has a reference to one anonymousPassengerSpecification
    • offers.tripCoverage points out the tripId. If coveredLegIds are populated both legId’s
      must be in the array
    • offers.admissionOfferParts.tripCoverage points out the tripId. If coveredLegIds are populated both legId’s must be in the array
    • One trip with two timedLegs is returned
    • One bookedOffer with one admissions with offerMode = “INDIVIDUAL”
    • bookedOffers.admissions.tripCoverage.coveredTripId refers to the delivered trip. If coveredLegIds are populated both legId must be in the array
    • bookings.provisionalPrice = sum (bookedOffers.admissios.price.amount)
    • bookings.createdOn is set
    • confirmationTimeLimit > now() + 5 min
    • status on all offerPart is “PREBOOKED”
TOP-PHE commented 1 week ago

Put in priority 2 as the main priority is to deliver the scope of functionnalities on a 1 PAX_1 Leg type of offer first before managing more complex cases