Ejemplo n.º 1
0
        public void ForTentativeReservation_ShouldSucceed()
        {
            // Given
            var reservation = ReservationBuilder
                              .Create()
                              .Tentative()
                              .Build();

            // When
            reservation.Confirm();

            // Then
            reservation.Status.Should().Be(ReservationStatus.Confirmed);
            reservation.Version.Should().Be(2);

            var @event = reservation.PublishedEvent <ReservationConfirmed>();

            @event.Should().BeOfType <ReservationConfirmed>();
            @event.ReservationId.Should().Be(reservation.Id);
        }
Ejemplo n.º 2
0
        public void ForValidParams_UpdatesSeatId()
        {
            // Given
            var reservation = ReservationBuilder
                              .Create()
                              .Tentative()
                              .Build();

            var newSeatId = Guid.NewGuid();

            // When
            reservation.ChangeSeat(newSeatId);

            // Then
            reservation.SeatId.Should().Be(newSeatId);
            reservation.Version.Should().Be(2);

            var @event = reservation.PublishedEvent <ReservationSeatChanged>();

            @event.Should().BeOfType <ReservationSeatChanged>();
            @event.ReservationId.Should().Be(reservation.Id);
            @event.SeatId.Should().Be(newSeatId);
        }