public void Handle_ReserveBookCommand_Member_Not_Exists() { // arrange var key = MockBuilder.Key; var copy = CopyMock.Get(key); MockRepository.Add(copy); MockRepository.Commit(); var command = ReserveBookCommandMock.Get(key); // act var result = Handle(command); // assert result.Should().BeTrue(); var members = MockRepository.Query <Member>().ToList(); var memberExpected = MemberMock.Get(key); members.Should().BeEquivalentToEntity(MockBuilder.List(memberExpected)); 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 = memberExpected; reservations.Should().BeEquivalentToEntity(MockBuilder.List(reservationExpected)); }
public void Handle_ReserveBookCommandd_Default() { // arrange var key = MockBuilder.Key; var copy = CopyMock.Get(key); MockRepository.Add(copy); MockRepository.Commit(); var command = ReserveBookCommandMock.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); reservations.Should().BeEquivalentToEntity(MockBuilder.List(reservationExpected)); var publishReservationEventCommands = Bus.GetAllSent <PublishReservationEventCommand>(ContextNames.Queue.Library); var PublishReservationEventCommandExpected = PublishReservationEventCommandMock.Get(key); PublishReservationEventCommandExpected.ReservationId = reservations[0].Id; publishReservationEventCommands.Should().BeEquivalentToMessage(MockBuilder.List(PublishReservationEventCommandExpected)); }
public void GetByFilterAsync_Reservation_Filter_Number() { var keys = new string[] { FakeHelper.Key, FakeHelper.Key }; MockRepository.Add(ReservationMock.Get(keys[0])); MockRepository.Add(ReservationMock.Get(keys[1])); var pagination = PagedRequestMock.Create(ReservationFilterPayloadMock.Get(keys[0])); pagination.Filter.Number = Fake.GetReservationNumber(keys[0]); var proxy = GetByFilterAsync(pagination); proxy.Should().NotBeNull(); var proxy1 = ReservationProxyMock.Get(keys[0]); proxy1.MemberId = MemberMock.Get(keys[0]).UserId; var pagedProxyExpected = PagedResponseMock.Create(proxy1); proxy.Should().BeEquivalentToModel(pagedProxyExpected); }
public void RequestAsync_Reservation_Insert_BookNotExists() { var key = FakeHelper.Key; var message = ReservationMessageMock.Get(key); var dto = RequestAsync(message); dto.Should().NotBeNull(); var entity = Db.Reservations.FirstOrDefault(x => x.Number == Fake.GetReservationNumber(key)); var expected = ReservationMock.GetByReservation(key); expected.Id = entity.Id; expected.Member.Id = entity.Member.Id; expected.Loans[0].Id = entity.Loans[0].Id; expected.Loans[0].Book = null; expected.Loans[0].Copy = null; entity.Should().BeEquivalentToEntity(expected); var dtoExpected = ReservationDtoMessageMock.Get(key); dtoExpected.ReservationId = entity.Id; dto.Should().BeEquivalentToMessage(dtoExpected); }
public void RequestAsync_Reservation_Insert_Valid() { var key = FakeHelper.Key; var book = BookMock.Get(key); var copy = CopyMock.Get(key); MockRepository.Add(book); MockRepository.Add(copy); var message = ReservationMessageMock.Get(key); var dto = RequestAsync(message); dto.Should().NotBeNull(); var entity = Db.Reservations.FirstOrDefault(x => x.Number == Fake.GetReservationNumber(key)); var expected = ReservationMock.GetByReservation(key); expected.Id = entity.Id; expected.Member.Id = entity.Member.Id; expected.Loans[0].Id = entity.Loans[0].Id; entity.Should().BeEquivalentToEntity(expected); var dtoExpected = ReservationDtoMessageMock.Get(key); dtoExpected.ReservationId = entity.Id; dto.Should().BeEquivalentToMessage(dtoExpected); //var profillingExpected = ProfilingEntityMock.Get("", ""); }
public void RequestAsync_Reservation_Update_Member_NotAccepted() { var key = FakeHelper.Key; var order = ReservationMock.GetByReservation(key); MockRepository.Add(order); var message = ReservationMessageMock.Get(key); var key2 = FakeHelper.Key; message.MemberName = Fake.GetMemberName(key2); message.MemberId = FakeHelper.GetId(key2).ToString(); var dto = RequestAsync(message); dto.Should().NotBeNull(); var entity = Db.Reservations.FirstOrDefault(x => x.Number == Fake.GetReservationNumber(key)); var expected = ReservationMock.GetByReservation(key); expected.UpdatedAt = DateTime.UtcNow; expected.Loans[0].Id = entity.Loans[0].Id; expected.Member.Id = entity.Member.Id; entity.Should().BeEquivalentToEntity(expected); var dtoExpected = ReservationDtoMessageMock.Get(key); dto.Should().BeEquivalentToMessage(dtoExpected); }
public void RequestAsync_Reservation_Update_Valid() { var key = FakeHelper.Key; var reservation = ReservationMock.GetByReservation(key); MockRepository.Add(reservation); var message = ReservationMessageMock.Get(key); var dto = RequestAsync(message); dto.Should().NotBeNull(); var entity = Db.Reservations.FirstOrDefault(x => x.Number == Fake.GetReservationNumber(key)); var expected = ReservationMock.GetByReservation(key); expected.UpdatedAt = DateTime.UtcNow; expected.Member.Id = entity.Member.Id; expected.Loans[0].Id = entity.Loans[0].Id; entity.Should().BeEquivalentToEntity(expected); var dtoExpected = ReservationDtoMessageMock.Get(key); dto.Should().BeEquivalentToMessage(dtoExpected); }
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)); }
public void Handle_CheckDueCommand_Reservation_Expire_Tomorrow() { // 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); expireReservationCommands.Should().BeEmpty(); }
public void CreateReservationAsync_Dto_Valid() { var key = FakeHelper.Key; var reservation = ReservationMock.Get(key); MockRepository.Add(reservation); var message = ReservationDtoMessageMock.Get(key); var dto = CreateReservationAsync(message); dto.Should().NotBeNull(); var dtoExpected = ReservationDtoMock.Get(key); dto.Should().BeEquivalentToMessage(dtoExpected); }
public void ExpireAsync_Reservation_Valid() { var key = FakeHelper.Key; var reservation = ReservationMock.Get(key); 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 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_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)); }