Пример #1
0
        public void Handle_ExpireReservationCommand_Default()
        {
            // arrange
            var key = MockBuilder.Key;

            var reservation = ReservationMock.Get(key);

            MockRepository.Add(reservation);

            MockRepository.Commit();

            var command = ExpireReservationCommandMock.Get(key);

            // act
            var result = Handle(command);

            // assert
            result.Should().BeTrue();

            var reservations = MockRepository.Query <Reservation>()
                               .Include(x => x.Loans)
                               .ThenInclude(x => x.Copy)
                               .ThenInclude(x => x.Book)
                               .Include(x => x.Member)
                               .ToList();
            var reservationExpected = ReservationMock.Get(key);

            reservationExpected.Status = StatusReservation.Expired;
            reservations.Should().BeEquivalentToEntity(MockBuilder.List(reservationExpected));

            var publishReservationEventCommands        = Bus.GetAllSent <PublishReservationEventCommand>(ContextNames.Queue.Library);
            var publishReservationEventCommandExpected = PublishReservationEventCommandMock.Get(key);

            publishReservationEventCommands.Should().BeEquivalentToMessage(MockBuilder.List(publishReservationEventCommandExpected));
        }
Пример #2
0
        public void Handle_CheckDueCommand_Reservation_Expire_Yesterday()
        {
            // arrange
            var key = MockBuilder.Key;

            var reservation = ReservationMock.Get(key);

            reservation.Loans[0].DueDate = MockBuilder.Date.AddDays(-1);

            MockRepository.Add(reservation);

            MockRepository.Commit();

            var command = CheckDueCommandMock.Get(key);

            // act
            var result = Handle(command);

            // assert
            result.Should().BeTrue();

            var expireReservationCommands        = Bus.GetAllSent <ExpireReservationCommand>(ContextNames.Queue.Library);
            var expireReservationCommandExpected = ExpireReservationCommandMock.Get(key);

            expireReservationCommands.Should().BeEquivalentToMessage(MockBuilder.List(expireReservationCommandExpected));
        }