コード例 #1
0
        public async Task HandleAsync_Should_Return_CollectionOutputQuery_With_CityDistrictOutputQuery_When_Input_Is_Not_Null()
        {
            var cityDistrict = CityDistrict.Builder()
                               .SetId(Guid.NewGuid())
                               .SetRowVersion(Array.Empty <byte>())
                               .SetName("Name")
                               .SetPolishName("PolishName")
                               .SetCityId(Guid.NewGuid())
                               .SetParentId(Guid.NewGuid())
                               .Build();
            var cityDistrictsInputQuery = new GetCityDistrictsInputQuery(1, 100, "name:asc", cityDistrict.Name,
                                                                         cityDistrict.PolishName, cityDistrict.CityId, cityDistrict.ParentId, new List <Guid>());

            var cityDistricts = new List <CityDistrict> {
                cityDistrict
            };
            var cityDistrictOutputQueries = cityDistricts.Select(x =>
                                                                 new CityDistrictOutputQuery(x.Id, x.RowVersion, x.Name, x.PolishName, x.CityId, x.ParentId, x.NameVariants)).ToList();
            var collectionOutputQuery = new CollectionOutputQuery <CityDistrictOutputQuery>(cityDistricts.Count, cityDistrictOutputQueries);

            _cityDistrictRepositoryMock
            .Setup(x => x.FindAsync(It.IsAny <int?>(), It.IsAny <int?>(), It.IsAny <string>(),
                                    It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid?>(), It.IsAny <Guid?>(), It.IsAny <IEnumerable <Guid> >()))
            .ReturnsAsync(cityDistricts);
            _cityDistrictRepositoryMock
            .Setup(x => x.CountAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid?>(), It.IsAny <Guid?>(), It.IsAny <IEnumerable <Guid> >()))
            .ReturnsAsync(cityDistricts.Count);
            _mapperMock.Setup(x =>
                              x.Map <List <CityDistrict>, IEnumerable <CityDistrictOutputQuery> >(It.IsAny <List <CityDistrict> >()))
            .Returns(cityDistrictOutputQueries);

            var result = await _queryHandler.HandleAsync(cityDistrictsInputQuery);

            result.Should().BeEquivalentTo(collectionOutputQuery);
        }
コード例 #2
0
        public async Task GetCityDistrictsAsync_Should_Return_OkObjectResult_With_CollectionResponse_With_CityDistrictResponses()
        {
            var getCityDistrictsRequest = new GetCityDistrictsRequest
            {
                Page       = 1,
                PageSize   = 100,
                CityId     = Guid.NewGuid(),
                Name       = "Name",
                PolishName = "PolishName",
                Sort       = "name:asc"
            };
            var getCityDistrictsInputQuery = new GetCityDistrictsInputQuery(getCityDistrictsRequest.Page,
                                                                            getCityDistrictsRequest.PageSize, getCityDistrictsRequest.Sort, getCityDistrictsRequest.Name,
                                                                            getCityDistrictsRequest.PolishName, getCityDistrictsRequest.CityId, null, new List <Guid>());
            var cityDistrictOutputQuery = new CityDistrictOutputQuery(Guid.NewGuid(), Array.Empty <byte>(),
                                                                      "Name", "PolishName", Guid.NewGuid(), Guid.NewGuid(), new List <string> {
                "NameVariant"
            });
            var cityDistrictOutputQueries = new Collection <CityDistrictOutputQuery> {
                cityDistrictOutputQuery
            };
            var collectionOutputQuery = new CollectionOutputQuery <CityDistrictOutputQuery>(cityDistrictOutputQueries.Count, cityDistrictOutputQueries);
            var cityDistrictResponses = cityDistrictOutputQueries.Select(x =>
                                                                         new CityDistrictResponse(x.Id, x.RowVersion, x.Name, x.PolishName, x.CityId, x.ParentId, x.NameVariants));
            var collectionResponse = new CollectionResponse <CityDistrictResponse>(cityDistrictOutputQueries.Count, cityDistrictResponses);

            _mapperMock.Setup(x => x.Map <GetCityDistrictsRequest, GetCityDistrictsInputQuery>(It.IsAny <GetCityDistrictsRequest>()))
            .Returns(getCityDistrictsInputQuery);
            _getCityDistrictsQueryHandlerMock
            .Setup(x => x.HandleAsync(It.IsAny <GetCityDistrictsInputQuery>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(collectionOutputQuery);
            _mapperMock
            .Setup(x =>
                   x.Map <CollectionOutputQuery <CityDistrictOutputQuery>, CollectionResponse <CityDistrictResponse> >(
                       It.IsAny <CollectionOutputQuery <CityDistrictOutputQuery> >()))
            .Returns(collectionResponse);

            var result = await _controller.GetCityDistrictsAsync(getCityDistrictsRequest);

            var okResult = result.As <OkObjectResult>();

            okResult.Value.Should().BeEquivalentTo(collectionResponse);
        }
コード例 #3
0
        public async Task <CollectionOutputQuery <CityDistrictOutputQuery> > HandleAsync(GetCityDistrictsInputQuery inputQuery, CancellationToken cancellationToken = default)
        {
            List <CityDistrict> cityDistricts;
            long totalCount;

            if (inputQuery != null)
            {
                cityDistricts = await _cityDistrictRepository.FindAsync(inputQuery.Page, inputQuery.PageSize, inputQuery.Sort,
                                                                        inputQuery.Name, inputQuery.PolishName, inputQuery.CityId, inputQuery.ParentId, inputQuery.CityIds);

                totalCount =
                    await _cityDistrictRepository.CountAsync(inputQuery.Name, inputQuery.PolishName, inputQuery.CityId,
                                                             inputQuery.ParentId, inputQuery.CityIds);
            }
            else
            {
                cityDistricts = await _cityDistrictRepository.GetAllAsync();

                totalCount = await _cityDistrictRepository.CountAsync();
            }

            var results = _mapper.Map <List <CityDistrict>, IEnumerable <CityDistrictOutputQuery> >(cityDistricts);

            return(new CollectionOutputQuery <CityDistrictOutputQuery>(totalCount, results));
        }