UnionInternationalCheminsdeFer / OSDM-testing

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

OTST_TS_OB_MULTI_PAX_1 #12

Open Linus-Turnit opened 2 months ago

Linus-Turnit commented 2 months ago

Scenario with an offer request based on a trip specification for two passengers, booking request based on the response of the offer response. The booking will be fulfilled with status confirmed. The trip is based on a single outbound leg

Scenario

  1. Generate and send a post offer request with a trip specification for two anonymousPassengers aged 30 and 40
  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_PAX_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" 
        }
    ],
    “Passengers”: [
        {
            “externalRef”: “PAX1”,
            "type": "PERSON",
            "age": "40"
        },
        {
            “externalRef”: “PAX2”,
            "type": "PERSON",
            "age": "30"
        }       
    ]
} 

Suggested Validations per step

    • Two anonymousPassengerSpecifications returned
    • One anonymousPassengerSpecification has externalRef = “PAX1”and age “40”, the other one has externalRef = “PAX2” and age “30”
    • One offers with two admissions with offerMode = “INDIVIDUAL”
    • Each admission has a reference to different anonymousPassengerSpecifications
    • One trip with the specified leg is returned
    • Two passengers returned
    • One passenger has externalRef = “PAX1”and age “40”, the other one has externalRef = “PAX2” and age “30”
    • Alt1: One bookedOffer with two admissions with offerMode = “INDIVIDUAL” and
      appliedPassengers.type = “ADULT” Alt2: Two bookedOffers with one admission with offerMode = “INDIVIDUAL” and
      appliedPassengers.type = “ADULT”
    • One trip with one leg is returned
    • bookedOffers.admissions.tripCoverage.coveredTripId refers to the delivered trip
    • bookings.provisionalPrice = sum (bookedOffers.admissios.price.amount)
    • bookings.createdOn is set
    • confirmationTimeLimit > now()
    • status on all offerPart is “PREBOOKED”
    • two fulfillments created (one for each passenger)
    • controlNumber is set in each fulfillmet with different values
    • fulfilments.bookingRefs points out the bookingId from stage 2
    • fulfilments.bookingParts points out two different admissions (one for each passenger)
    • Two passengers returned
    • One passenger has externalRef = “PAX1”and age “40”, the other one has externalRef = “PAX2” and age “30”
    • Alt1: One bookedOffer with two admissions with offerMode = “INDIVIDUAL” Alt2: Two bookedOffers with one admission with offerMode = “INDIVIDUAL”
    • One trip with one leg is returned
    • bookedOffers.admissions.tripCoverage.coveredTripId refers to the delivered trip
    • bookings.provisionalPrice = 0
    • bookings.confirmedPrice = sum (bookedOffers.admissios.price.amount)
    • bookings.createdOn is set
    • status on all offerPart is “FULFILLED”
    • fulfilments are provided with controlNumber
    • all fulfilment.status = “FULFILLED”
TOP-PHE commented 1 month 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