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 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_UpdateBookCommand_Book_Not_Exists() { // arrange var key = MockBuilder.Key; var book = BookMock.Get(key); MockRepository.Add(book); MockRepository.Commit(); var key2 = MockBuilder.Key; var command = UpdateBookCommandMock.Get(key2); // act var result = Handle(command); // assert result.Should().BeTrue(); var books = MockRepository.Query <Book>().ToList(); var bookExpected = BookMock.Get(key); books.Should().BeEquivalentToEntity(MockBuilder.List(bookExpected)); }
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_BookCommand_Book_Exist() { // arrange var key = MockBuilder.Key; var book = BookMock.Get(key); MockRepository.Add(book); MockRepository.Commit(); var key2 = MockBuilder.Key; var command = SaveBookCommandMock.Get(key2); command.Title = book.Title; // act var result = Handle(command); // assert result.Should().BeTrue(); var books = MockRepository.Query <Domain.Entities.Book>().ToList(); var bookExpected = BookMock.Get(key2); bookExpected.Title = book.Title; books.Should().BeEquivalentToEntity(MockBuilder.List(bookExpected)); var events = Bus.GetAllPublished <UpdateBookEvent>(ContextNames.Exchange.Book); var eventExpected = UpdateBookEventMock.Get(key2); eventExpected.Title = book.Title; events.Should().BeEquivalentToMessage(MockBuilder.List(eventExpected)); }
public void Handle_BookCommand_With_Category_Not_Existing_Category() { // arrange var key = MockBuilder.Key; var command = SaveBookCommandMock.Create(key) .Default() .WithCategory() .Build(); // act var result = Handle(command); // assert result.Should().BeTrue(); var books = MockRepository.Query <Domain.Entities.Book>() .Include(x => x.Categories) .ThenInclude(x => x.Category) .ToList(); var bookExpected = BookMock.Create(key) .Default() .WithCategory(books[0].Categories[0].Category) .Build(); books.Should().BeEquivalentToEntity(MockBuilder.List(bookExpected)); var events = Bus.GetAllPublished <UpdateBookEvent>(ContextNames.Exchange.Book); var eventExpected = UpdateBookEventMock.Get(key); events.Should().BeEquivalentToMessage(MockBuilder.List(eventExpected)); }
public void List_Parameters_Null() { // arrange var parameters = (string[])null; // act var values = MockBuilder.List(parameters); // assert values.Should().BeEmpty(); }
public void List_Value_Null() { // arrange var value = (string)null; // act var values = MockBuilder.List(value); // assert values.Should().NotBeEmpty(); values.Should().HaveCount(1); values.Should().Contain(value); }
public void List_Multiples() { // arrange var value1 = "A"; var value2 = "B"; var value3 = "C"; // act var values = MockBuilder.List(value1, value2, value3); // assert values.Should().NotBeEmpty(); values.Should().HaveCount(3); values.Should().ContainInOrder(value1, value2, value3); }
public void Handle_PurchaseBookCommand_Update() { // arrange var key = MockBuilder.Key; var order = OrderMock.Get(key); MockRepository.Add(order); MockRepository.Commit(); var key2 = MockBuilder.Key; var command = PurchaseBookCommandMock.Get(key2); command.Number = order.Number; // act var result = Handle(command); // assert result.Should().BeTrue(); var orders = MockRepository.Query <Order>() .Include(x => x.Items) .Include(x => x.Customer) .ToList(); var orderExpected = OrderMock.Create(key) .BaseOrder() .WithItem(key2) .Build(); orderExpected.Number = order.Number; orders.Should().BeEquivalentToEntity(MockBuilder.List(orderExpected)); var publishShippingEventCommands = Bus.GetAllSent <PublishShippingEventCommand>(ContextNames.Queue.Bookstore); var publishShippingEventCommandExpected = PublishShippingEventCommandMock.Get(key); publishShippingEventCommandExpected.OrderId = orders[0].Id; publishShippingEventCommands.Should().BeEquivalentToMessage(MockBuilder.List(publishShippingEventCommandExpected)); var dropCopyNumberEvents = Bus.GetAllPublished <DropCopyNumberEvent>(ContextNames.Exchange.Bookstore); var dropCopyNumberEventExpected = DropCopyNumberEventMock.Get(key2); dropCopyNumberEvents.Should().BeEquivalentToMessage(MockBuilder.List(dropCopyNumberEventExpected)); }
public void Handle_ListBookFilteringQuery_Default() { // arrange var key = MockBuilder.Key; var book = BookMock.Get(key); MockRepository.Add(book); MockRepository.Commit(); var query = ListBookFilteringQueryMock.Get(key); // act var dto = Handle(query); dto.Should().NotBeNull(); var dtoExpected = BookDtoMock.Get(key); dto.Should().BeEquivalentTo(MockBuilder.List(dtoExpected).ToPagedResponse()); }
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)); }
public void Handle_PublishShippingEventCommand_Default() { // arrange var key = MockBuilder.Key; var order = OrderMock.Get(key); MockRepository.Add(order); MockRepository.Commit(); var command = PublishShippingEventCommandMock.Get(key); // act var result = Handle(command); // assert result.Should().BeTrue(); var events = Bus.GetAllPublished <CreateShippingEvent>(ContextNames.Exchange.Bookstore); var eventExpected = CreateShippingEventMock.Get(key); events.Should().BeEquivalentToMessage(MockBuilder.List(eventExpected)); }