예제 #1
0
        public void Not_reserve_seats_when_it_exceed_max_capacty_threshold()
        {
            const int seatsRequestedCount = 3;

            var trainDataService        = BuildTrainDataService(TrainId, TrainTopologyGenerator.With_10_seats_and_6_already_reserved());
            var bookingReferenceService = BuildBookingReferenceService(BookingReference);

            var webTicketManager = new WebTicketManager(trainDataService, bookingReferenceService);
            var jsonReservation  = webTicketManager.Reserve(TrainId, seatsRequestedCount).Result;

            Check.That(jsonReservation)
            .IsEqualTo($"{{\"train_id\": \"{TrainId}\", \"booking_reference\": \"\", \"seats\": []}}");
        }
예제 #2
0
        public void Reserve_all_seats_in_the_same_coach()
        {
            const int seatsRequestedCount = 2;

            var trainDataService        = BuildTrainDataService(TrainId, TrainTopologyGenerator.With_2_coaches_and_9_seats_already_reserved_in_the_first_coach());
            var bookingReferenceService = BuildBookingReferenceService(BookingReference);

            var webTicketManager = new WebTicketManager(trainDataService, bookingReferenceService);
            var jsonReservation  = webTicketManager.Reserve(TrainId, seatsRequestedCount).Result;

            Check.That(jsonReservation)
            .IsEqualTo($"{{\"train_id\": \"{TrainId}\", \"booking_reference\": \"{BookingReference}\", \"seats\": [\"1B\", \"2B\"]}}");
        }
예제 #3
0
        public void Reserve_seats_when_train_is_empty()
        {
            const int seatsRequestedCount = 3;

            var trainDataService        = BuildTrainDataService(TrainId, TrainTopologyGenerator.With_10_available_seats());
            var bookingReferenceService = BuildBookingReferenceService(BookingReference);

            var webTicketManager = new WebTicketManager(trainDataService, bookingReferenceService);
            var jsonReservation  = webTicketManager.Reserve(TrainId, seatsRequestedCount).Result;

            Check.That(jsonReservation)
            .IsEqualTo($"{{\"train_id\": \"{TrainId}\", \"booking_reference\": \"{BookingReference}\", \"seats\": [\"1A\", \"2A\", \"3A\"]}}");
        }