Exemple #1
0
        public void CancelReservation_ForNonExistingReservation_DoNothing()
        {
            // Arrange
            var sut = new SeatsAvailability(_reservationId);

            // Act
            sut.AddSeats(_seatTypeId, AvailableSeats);
            sut.MakeReservation(_reservationId, new[] { new SeatQuantity(_seatTypeId, 4) });
            sut.CancelReservation(Guid.NewGuid());

            // Assert
            Assert.DoesNotContain(sut.Events, e => (e is SeatsReservationCancelled));
        }
Exemple #2
0
        public void CancelReservationChangesSeatsAvailability()
        {
            // Arrange
            var wantedSeats = 5;
            var sut         = new SeatsAvailability(_reservationId);

            // Act
            sut.AddSeats(_seatTypeId, AvailableSeats);
            sut.MakeReservation(_reservationId, new[] { new SeatQuantity(_seatTypeId, wantedSeats) });
            sut.CancelReservation(_reservationId);

            // Assert
            Assert.Equal(_reservationId, ((SeatsReservationCancelled)sut.Events.LastOrDefault()).ReservationId);
            Assert.Equal(_seatTypeId, ((SeatsReservationCancelled)sut.Events.LastOrDefault()).AvailableSeatsChanged.ElementAt(0).SeatType);
            Assert.Equal(wantedSeats, ((SeatsReservationCancelled)sut.Events.LastOrDefault()).AvailableSeatsChanged.ElementAt(0).Quantity);
        }