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)); }
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); }