예제 #1
0
        public void GetByFilterAsync_Filter_Category()
        {
            var keys = new string[]
            {
                FakeHelper.Key,
                FakeHelper.Key
            };

            var book = BookMock.Create(keys[0])
                       .Default()
                       .WithCategory()
                       .Build();

            MockRepository.Add(book);
            MockRepository.Add(BookMock.Get(keys[1]));

            var pagination = PagedRequestMock.Create(BookFilterPayloadMock.Get());

            pagination.Filter.Category = Fake.GetCategoryName(keys[0]);

            var proxy = GetByFilterAsync(pagination);

            proxy.Should().NotBeNull();

            var proxy1 = BookProxyMock.Get(keys[0]);

            var pagedProxyExpected = PagedResponseMock.Create(proxy1);

            proxy.Should().BeEquivalentToModel(pagedProxyExpected);
        }
예제 #2
0
        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));
        }
예제 #3
0
        public void Handle_ListBookFilteringQuery_Filter_Category()
        {
            // arrange
            var key = MockBuilder.Key;

            var book = BookMock.Create(key)
                       .Default()
                       .WithCategory()
                       .Build();

            MockRepository.Add(book);

            var key2 = MockBuilder.Key;

            var book2 = BookMock.Create(key2)
                        .Default()
                        .WithCategory()
                        .Build();

            MockRepository.Add(book2);

            MockRepository.Commit();

            var query = ListBookFilteringQueryMock.Get(key);

            query.Category = Fake.GetCategoryName(key2);

            // act
            var dto = Handle(query);

            dto.Should().NotBeNull();

            var dtoExpected = BookDtoMock.Get(key2);

            dto.Should().BeEquivalentTo(MockBuilder.List(dtoExpected).ToPagedResponse());
        }