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); }
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)); }
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 })); }
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); }