コード例 #1
0
        public async void SingleItemIsFound()
        {
            var request = new TopicSearchRequest
            {
                NameSearchPattern = "Pattern",
                Page = new PageInfo
                {
                    PageNumber   = 1,
                    ItemsPerPage = 1
                }
            };

            var expectedItem = new TopicModel
            {
                Date        = new DateTime(2017, 02, 12),
                Description = "topic 1.......",
                Keyword     = "key1",
                Title       = "Pattern 1"
            };

            var expected = new TopicSearchResponse
            {
                Request         = request,
                TotalItemsCount = 1,
                Items           = new List <TopicModel>
                {
                    expectedItem
                }
            };

            _topicsRepositoryMock
            .Search(Arg.Is <string>(request.NameSearchPattern),
                    Arg.Is <int>(request.Page.ItemsPerPage),
                    Arg.Is <int>(request.Page.PageNumber))
            .Returns(new SearchResponse
            {
                Items           = expected.Items,
                TotalItemsCount = expected.TotalItemsCount
            });

            using (var client = _server.HttpClient)
            {
                var stringContent = new StringContent(JsonConvert.SerializeObject(request));
                var response      = await client.PostAsync("v1/topics/search", stringContent);

                // assert
                response.IsSuccessStatusCode.Should().BeFalse();
                //
            }
        }
コード例 #2
0
        public async Task <TopicSearchResponse> Search(TopicSearchRequest request)
        {
            var topics = await _repository.Search(request.NameSearchPattern,
                                                  request.Page.ItemsPerPage,
                                                  request.Page.PageNumber)
                         .ConfigureAwait(false);

            return(new TopicSearchResponse
            {
                Request = request,
                Items = topics.Items,
                TotalItemsCount = topics.TotalItemsCount
            });
        }