public void ExpireAsync_Reservation_StatusExpired() { var key = FakeHelper.Key; var reservation = ReservationMock.Get(key); reservation.Status = StatusReservation.Expired; MockRepository.Add(reservation); var message = ReservationExpiredMessageMock.Get(key); ExpireAsync(message); var entity = Db.Reservations.FirstOrDefault(x => x.Number == Fake.GetReservationNumber(key)); var expected = ReservationMock.Get(key); expected.Status = StatusReservation.Expired; entity.Should().BeEquivalentToEntity(expected); }
public void CheckDueAsync_Reservation_DueDate_Major() { var key = FakeHelper.Key; var reservation = ReservationMock.Get(key); reservation.Loans[0].DueDate = DateTime.UtcNow.Date.AddDays(1).AddMinutes(1); MockRepository.Add(reservation); var dto = CheckDueAsync(); dto.Should().BeNull(); var entity = Db.Reservations.FirstOrDefault(x => x.Number == Fake.GetReservationNumber(key)); var expected = ReservationMock.Get(key); expected.Loans[0].DueDate = reservation.Loans[0].DueDate; entity.Should().BeEquivalentToEntity(expected); }
public void ReturnAsync_Reservation_Valid() { var key = FakeHelper.Key; var reservation = ReservationMock.Get(key); MockRepository.Add(reservation); var message = ReservationReturnMessageMock.Get(key); ReturnAsync(message); var entity = Db.Reservations.FirstOrDefault(x => x.Number == Fake.GetReservationNumber(key)); var expected = ReservationMock.Get(key); expected.Status = StatusReservation.Deliveried; expected.Loans[0].ReturnDate = Fake.GetReturnDate(key); entity.Should().BeEquivalentToEntity(expected); }
public void Handle_ReserveBookCommand_Member_Exists() { // arrange var key = MockBuilder.Key; var copy = CopyMock.Get(key); MockRepository.Add(copy); var member = MemberMock.GetFull(key); MockRepository.Add(member); MockRepository.Commit(); var command = ReserveBookCommandMock.Get(key); // act var result = Handle(command); // assert result.Should().BeTrue(); var members = MockRepository.Query <Member>().ToList(); members.Should().BeEquivalentToEntity(MockBuilder.List(member)); 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.Member = member; reservations.Should().BeEquivalentToEntity(MockBuilder.List(reservationExpected)); }
public void CheckDueAsync_Reservation_Valid() { var key = FakeHelper.Key; var reservation = ReservationMock.Get(key); reservation.Loans[0].DueDate = DateTime.UtcNow; MockRepository.Add(reservation); var dto = CheckDueAsync(); dto.Should().NotBeNull(); var entity = Db.Reservations.FirstOrDefault(x => x.Number == Fake.GetReservationNumber(key)); var expected = ReservationMock.Get(key); expected.Loans[0].DueDate = reservation.Loans[0].DueDate; entity.Should().BeEquivalentToEntity(expected); var dtoExpected = ReservationExpiredMessageMock.Get(key); dto.Should().BeEquivalentToMessage(dtoExpected); }
public void Handle_CheckDueCommand_Default() { // arrange var key = MockBuilder.Key; var reservation = ReservationMock.Get(key); 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); expireReservationCommands.Should().BeEmpty(); }
public void Handle_PublishReservationEventCommandd_Default() { // arrange var key = MockBuilder.Key; var reservation = ReservationMock.Get(key); MockRepository.Add(reservation); MockRepository.Commit(); var command = PublishReservationEventCommandMock.Get(key); // act var result = Handle(command); // assert result.Should().BeTrue(); var events = Bus.GetAllPublished <CreateReservationEvent>(ContextNames.Exchange.Library); var eventExpected = CreateReservationEventMock.Get(key); events.Should().BeEquivalentToMessage(MockBuilder.List(eventExpected)); }