示例#1
0
        public async Task Should_Create_City_District_When_Requesting_By_Administrator_Client()
        {
            var city = await InsertCityEntityAsync(_fixture.AdministratorDbContext);

            var createCityDistrictRequest = new CreateCityDistrictRequest
            {
                Name         = "CreateCityIntegrationTest",
                PolishName   = "CreateCityIntegrationTest",
                CityId       = city.Id,
                NameVariants = new List <string> {
                    "CreateCityIntegrationTest"
                }
            };
            var createCityDistrictRequestString = JsonConvert.SerializeObject(createCityDistrictRequest);
            var requestContent = new StringContent(createCityDistrictRequestString, Encoding.UTF8, "application/json");

            _fixture.AdministratorHttpClient.DefaultRequestHeaders.Add("api-version", "1");

            var response = await _fixture.AdministratorHttpClient.PostAsync("api/cityDistricts", requestContent);

            var responseContentString = await response.Content.ReadAsStringAsync();

            var expectedResponse = await PrepareExpectedResponseAsync(_fixture.AdministratorDbContext, createCityDistrictRequest.Name);

            response.StatusCode.Should().BeEquivalentTo(HttpStatusCode.Created);
            responseContentString.Should().BeEquivalentTo(expectedResponse);
        }
示例#2
0
        public async Task <IActionResult> CreateCityDistrictAsync([FromBody] CreateCityDistrictRequest request)
        {
            var createCityDistrictCommand = _mapper.Map <CreateCityDistrictRequest, CreateCityDistrictCommand>(request);
            await _communicationBus.SendCommandAsync(createCityDistrictCommand);

            var getCityDistrictOutputQuery = await _getCityDistrictQueryHandler.HandleAsync(new GetCityDistrictInputQuery(createCityDistrictCommand.CityDistrictId));

            var cityDistrictResponse = _mapper.Map <CityDistrictOutputQuery, CityDistrictResponse>(getCityDistrictOutputQuery);

            return(CreatedAtRoute("GetCityDistrict", new { id = cityDistrictResponse.Id }, cityDistrictResponse));
        }
示例#3
0
        public async Task CreateCityDistrictAsync_Should_Return_CreatedAtRouteResult_With_CityDistrictResponse()
        {
            var createCityDistrictRequest = new CreateCityDistrictRequest
            {
                Name         = "Name",
                PolishName   = "PolishName",
                CityId       = Guid.NewGuid(),
                ParentId     = Guid.NewGuid(),
                NameVariants = new List <string> {
                    "NameVariant"
                }
            };
            var createCityDistrictCommand = new CreateCityDistrictCommand(Guid.NewGuid(),
                                                                          createCityDistrictRequest.Name,
                                                                          createCityDistrictRequest.PolishName,
                                                                          createCityDistrictRequest.CityId,
                                                                          createCityDistrictRequest.ParentId,
                                                                          createCityDistrictRequest.NameVariants);
            var cityDistrictOutputQuery = new CityDistrictOutputQuery(createCityDistrictCommand.CityDistrictId,
                                                                      Array.Empty <byte>(),
                                                                      createCityDistrictCommand.Name,
                                                                      createCityDistrictCommand.PolishName,
                                                                      createCityDistrictCommand.CityId,
                                                                      createCityDistrictCommand.ParentId,
                                                                      createCityDistrictCommand.NameVariants);
            var cityDistrictResponse = new CityDistrictResponse(cityDistrictOutputQuery.Id,
                                                                cityDistrictOutputQuery.RowVersion,
                                                                cityDistrictOutputQuery.Name,
                                                                cityDistrictOutputQuery.PolishName,
                                                                cityDistrictOutputQuery.CityId,
                                                                cityDistrictOutputQuery.ParentId,
                                                                cityDistrictOutputQuery.NameVariants);

            _mapperMock.Setup(x =>
                              x.Map <CreateCityDistrictRequest, CreateCityDistrictCommand>(It.IsAny <CreateCityDistrictRequest>()))
            .Returns(createCityDistrictCommand);
            _communicationBusMock.Setup(x =>
                                        x.SendCommandAsync(It.IsAny <CreateCityDistrictCommand>(), It.IsAny <CancellationToken>()))
            .Returns(Task.CompletedTask);
            _getCityDistrictQueryHandlerMock
            .Setup(x => x.HandleAsync(It.IsAny <GetCityDistrictInputQuery>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(cityDistrictOutputQuery);
            _mapperMock.Setup(x => x.Map <CityDistrictOutputQuery, CityDistrictResponse>(It.IsAny <CityDistrictOutputQuery>())).Returns(cityDistrictResponse);

            var result = await _controller.CreateCityDistrictAsync(createCityDistrictRequest);

            var createdAtRouteResult = result.As <CreatedAtRouteResult>();

            createdAtRouteResult.Value.Should().BeEquivalentTo(cityDistrictResponse);
            createdAtRouteResult.RouteName.Should().BeEquivalentTo("GetCityDistrict");
            createdAtRouteResult.RouteValues.Should().BeEquivalentTo(new RouteValueDictionary(new { id = cityDistrictResponse.Id }));
        }
示例#4
0
        public async Task Should_Return_Unauthorized_Status_Code_When_Requesting_By_Anonymous_Client()
        {
            var createCityDistrictRequest = new CreateCityDistrictRequest
            {
                Name       = "CreateCityIntegrationTest",
                PolishName = "CreateCityIntegrationTest",
                CityId     = Guid.NewGuid()
            };
            var createCityDistrictRequestString = JsonConvert.SerializeObject(createCityDistrictRequest);
            var requestContent = new StringContent(createCityDistrictRequestString, Encoding.UTF8, "application/json");

            _fixture.AnonymousHttpClient.DefaultRequestHeaders.Add("api-version", "1");

            var response = await _fixture.AnonymousHttpClient.PostAsync("api/cityDistricts", requestContent);

            response.StatusCode.Should().BeEquivalentTo(HttpStatusCode.Unauthorized);
        }