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