public async Task Update_Computer(CreateComputer createComputer, UpdateComputer updateComputer) { var postResponse = await HttpClient.PostAsync(ResourceKey, new StringContent(JsonConvert.SerializeObject(createComputer), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.Created, postResponse.StatusCode); var computer = JsonConvert.DeserializeObject <ComputerDto>(await postResponse.Content.ReadAsStringAsync()); var putResult = await HttpClient.PutAsync(ResourceKey + "/" + computer.Id, new StringContent(JsonConvert.SerializeObject(updateComputer), Encoding.UTF8, "application/json")); putResult = await HttpClient.GetAsync(putResult.Headers.Location); computer = JsonConvert.DeserializeObject <ComputerDto>(await putResult.Content.ReadAsStringAsync()); computer.Name.Should().Be(updateComputer.Name); computer.Price.Should().Be(updateComputer.Price); foreach (var graphicsCard in createComputer.GraphicsCard) { Assert.Contains(createComputer.GraphicsCard, x => x.Name == graphicsCard.Name); Assert.Contains(createComputer.GraphicsCard, x => x.Price.Equals(graphicsCard.Price)); } foreach (var ram in createComputer.Ram) { Assert.Contains(createComputer.Ram, x => x.Name == ram.Name); Assert.Contains(createComputer.Ram, x => x.Price.Equals(ram.Price)); } }
public async Task Create_GraphicsCard(CreateComputer createComputer, IEnumerable <CreateGraphicsCard> createGraphicsCard) { var response = await HttpClient.PostAsync(ResourceKey, new StringContent(JsonConvert.SerializeObject(createComputer), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.Created, response.StatusCode); var computer = JsonConvert.DeserializeObject <ComputerDto>(await response.Content.ReadAsStringAsync()); computer.Should().NotBeNull(); var graphicsCardResponse = await HttpClient.PostAsync(ResourceKey + "/" + computer.Id + "/graphicscards", new StringContent(JsonConvert.SerializeObject(createGraphicsCard), Encoding.UTF8, "application/json")); var graphicsCards = JsonConvert.DeserializeObject <IEnumerable <GraphicsCardDto> >( await graphicsCardResponse.Content.ReadAsStringAsync()); Assert.NotNull(graphicsCards); response = await HttpClient.GetAsync(graphicsCardResponse.Headers.Location); graphicsCards = JsonConvert.DeserializeObject <IEnumerable <GraphicsCardDto> >(await response.Content.ReadAsStringAsync()); foreach (var card in graphicsCards) { Assert.Contains(createGraphicsCard, x => x.Name == card.Name); } }
public async Task <IActionResult> CreateComputer([FromBody] CreateComputer request, [FromHeader(Name = "Accept")] string mediaType) { if (request == null) { return(BadRequest()); } var response = await _computersService.CreateComputer(request); if (response.HttpStatusCode == (int)HttpStatusCode.Created) { if (mediaType.IsApplicationHal()) { response.Data = CreateLinkForComputer(response.Data); } return(CreatedAtRoute("GetComputer", new { computerId = response.Data.Id }, response.Data)); } return(new ObjectResult(response.Data) { StatusCode = (int)response.HttpStatusCode, Value = response.Reason }); }
public async Task Create_Computer_Should_Return_UnProcessableEntity(CreateComputer createComputer) { createComputer.Name = new String('a', 256); var response = await HttpClient.PostAsync(ResourceKey, new StringContent(JsonConvert.SerializeObject(createComputer), Encoding.UTF8, "application/json")); Assert.Equal(422, (int)response.StatusCode); }
public async Task Delete_Computer(CreateComputer createComputer) { var response = await HttpClient.PostAsync(ResourceKey, new StringContent(JsonConvert.SerializeObject(createComputer), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.Created, response.StatusCode); var computer = JsonConvert.DeserializeObject <ComputerDto>(await response.Content.ReadAsStringAsync()); computer.Should().NotBeNull(); response = await HttpClient.DeleteAsync(ResourceKey + "/" + computer.Id); Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); }
public async Task Update_Computer_Should_Return_UnProcessableEntity(CreateComputer createComputer, UpdateComputer updateComputer) { var postResponse = await HttpClient.PostAsync(ResourceKey, new StringContent(JsonConvert.SerializeObject(createComputer), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.Created, postResponse.StatusCode); var computer = JsonConvert.DeserializeObject <ComputerDto>(await postResponse.Content.ReadAsStringAsync()); updateComputer.Name = new String('a', 256); var putResult = await HttpClient.PutAsync(ResourceKey + "/" + computer.Id, new StringContent(JsonConvert.SerializeObject(updateComputer), Encoding.UTF8, "application/json")); Assert.Equal(422, (int)putResult.StatusCode); }
public VerifyComputer AddComputer(string name, string introduced, string discontinued, string company) { //open page AddNewComputer.Click(); //Thread.Sleep(1000); //provide data ComputerName.SendKeys(name); IntrodecedDate.SendKeys(introduced); DiscontinuedDate.SendKeys(discontinued); Company.SendKeys(company); Company.SendKeys(Keys.Enter); Console.WriteLine("Company details provided"); //submit form CreateComputer.Submit(); return(new VerifyComputer(webDriver)); }
public async Task Create_GraphicsCard_Should_Return_UnProcessableEntity(CreateComputer createComputer, IEnumerable <CreateGraphicsCard> createGraphicsCard) { var response = await HttpClient.PostAsync(ResourceKey, new StringContent(JsonConvert.SerializeObject(createComputer), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.Created, response.StatusCode); var computer = JsonConvert.DeserializeObject <ComputerDto>(await response.Content.ReadAsStringAsync()); computer.Should().NotBeNull(); createGraphicsCard.First().Name = new String('a', 256); var graphicsCardResponse = await HttpClient.PostAsync(ResourceKey + "/" + computer.Id + "/graphicscards", new StringContent(JsonConvert.SerializeObject(createGraphicsCard), Encoding.UTF8, "application/json")); Assert.Equal(422, (int)graphicsCardResponse.StatusCode); }
public async Task <BaseResponse <ComputerDto> > CreateComputer(CreateComputer request) { var(errors, isValid) = EntityValidator.Validate(request); if (!isValid) { return(new BaseResponse <ComputerDto>((int)CustomHttpStatusCode.UnprocessableEntity, string.Join("", errors))); } var computer = new ComputerBuilder().CreateComputer(request.Name, request.Price) .WithGraphicsCards(_mapper.Map <IEnumerable <Domain.GraphicsCard> >(request.GraphicsCard)) .WithRams(_mapper.Map <IEnumerable <Ram> >(request.Ram)) .Build(); await _computerRepository.Create(computer); var computerDto = _mapper.Map <ComputerDto>(computer); return(new BaseResponse <ComputerDto>((int)HttpStatusCode.Created, computerDto)); }
public async Task Patch_Computer_Name_Replace(CreateComputer createComputer, string newName) { var response = await HttpClient.PostAsync(ResourceKey, new StringContent(JsonConvert.SerializeObject(createComputer), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.Created, response.StatusCode); var computer = JsonConvert.DeserializeObject <ComputerDto>(await response.Content.ReadAsStringAsync()); computer.Should().NotBeNull(); var jsonPatchDocument = new JsonPatchDocument <ComputerDto>(); jsonPatchDocument.Replace(dto => dto.Name, newName); var patchResponse = await HttpClient.PatchAsync(ResourceKey + "/" + computer.Id, new StringContent(JsonConvert.SerializeObject(jsonPatchDocument), Encoding.UTF8, "application/json-patch+json")); computer = JsonConvert.DeserializeObject <ComputerDto>(await patchResponse.Content.ReadAsStringAsync()); Assert.Equal(computer.Name, newName); }
public async Task Update_GraphicsCard(CreateComputer createComputer, UpdateGraphicsCard updateGraphicsCardCommand) { var postResponse = await HttpClient.PostAsync(ResourceKey, new StringContent(JsonConvert.SerializeObject(createComputer), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.Created, postResponse.StatusCode); var computer = JsonConvert.DeserializeObject <ComputerDto>(await postResponse.Content.ReadAsStringAsync()); var putResult = await HttpClient.PutAsync( ResourceKey + "/" + computer.Id + "/graphicscards/" + computer.GraphicCards.First().Id, new StringContent(JsonConvert.SerializeObject(updateGraphicsCardCommand), Encoding.UTF8, "application/json")); putResult = await HttpClient.GetAsync(putResult.Headers.Location); var updatedGraphicsCard = JsonConvert.DeserializeObject <GraphicsCardDto>(await putResult.Content.ReadAsStringAsync()); updatedGraphicsCard.Should().NotBeNull(); Assert.Equal(updatedGraphicsCard.Name, updatedGraphicsCard.Name); Assert.Equal(updatedGraphicsCard.Price, updatedGraphicsCard.Price); }