public async Task PostPilotRequestCreatesPilot() { var pilot = new EditablePilotFields { SecondName = "Test", FirstName = "Pilot", BirthDate = DateTime.Now.AddYears(-25), Experience = 5 }; var content = new StringContent(JsonConvert.SerializeObject(pilot), Encoding.UTF8, "application/json"); var response = await _client.PostAsync("/api/pilots", content); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); var createdObjectString = await response.Content.ReadAsStringAsync(); var insertedPilot = JsonConvert.DeserializeObject <PilotDto>(createdObjectString); Assert.IsNotNull(insertedPilot); Assert.Greater(insertedPilot.Id, 0); Assert.AreEqual(pilot.FirstName, insertedPilot.FirstName); Assert.AreEqual(pilot.SecondName, insertedPilot.SecondName); Assert.AreEqual(pilot.Experience, insertedPilot.Experience); Assert.AreEqual(pilot.BirthDate, insertedPilot.BirthDate); }
public async Task <int> Insert(EditablePilotFields createPilotRequest) { var entityToUpdate = _mapper.Map <Pilot>(createPilotRequest); await _unitOfWork.PilotRepository.Insert(entityToUpdate); await _unitOfWork.SaveChangesAsync(); return(entityToUpdate.Id); }
public async Task <ActionResult> Post([FromBody] EditablePilotFields createPilotRequest) { var insertedId = await _pilotService.Insert(createPilotRequest); var result = await _pilotService.GetById(insertedId); var url = Url.Link("GetPilot", new { id = result.Id }); return(Created(url, result)); }
public async Task <ActionResult> Put(int id, [FromBody] EditablePilotFields updatePilotRequest) { var success = await _pilotService.Update(id, updatePilotRequest); if (success) { return(Ok()); } return(BadRequest()); }
public async Task <bool> Update(int id, EditablePilotFields updatePilotRequest) { var pilotToUpdate = _mapper.Map <Pilot>(updatePilotRequest); pilotToUpdate.Id = id; var result = await _unitOfWork.PilotRepository.Update(pilotToUpdate); await _unitOfWork.SaveChangesAsync(); return(result); }
private async Task <int> InsertPilot(EditablePilotFields pilotFields) { var content = new StringContent(JsonConvert.SerializeObject(pilotFields), Encoding.UTF8, "application/json"); var response = await _client.PostAsync("/api/pilots", content); var createdObjectString = await response.Content.ReadAsStringAsync(); var insertedPilot = JsonConvert.DeserializeObject <PilotDto>(createdObjectString); return(insertedPilot.Id); }
public async Task PilotControllerPostReturnCreatedResult() { var pilot = new EditablePilotFields { SecondName = "Test", FirstName = "Tester", BirthDate = new DateTime(2001, 12, 12), Experience = 5 }; var createdPilot = await _pilotsController.Post(pilot) as CreatedResult; Assert.IsNotNull(createdPilot); Assert.AreEqual(201, createdPilot.StatusCode); }
public async Task PilotControllerPutInvalidIdBadRequest() { var pilotUpdateRequest = new EditablePilotFields { BirthDate = new DateTime(2018, 12, 12), Experience = 1, FirstName = "PilotUpdated", SecondName = "TesterUpdated", }; var updateBadRequestResult = await _pilotsController.Put(99, pilotUpdateRequest) as BadRequestResult; Assert.IsNotNull(updateBadRequestResult); Assert.AreEqual(400, updateBadRequestResult.StatusCode); }
public async Task PutPilotRequestUpdatesPilot(int id, string firstName, string secondName, DateTime birthDate, int experience) { var pilot = new EditablePilotFields { SecondName = firstName, FirstName = secondName, BirthDate = birthDate, Experience = experience }; var content = new StringContent(JsonConvert.SerializeObject(pilot), Encoding.UTF8, "application/json"); var response = await _client.PutAsync($"/api/pilots/{id}", content); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); }
public async Task DeletePilotRequestReturnsSuccess(string firstName, string secondName, DateTime birthDate, int experience) { var pilot = new EditablePilotFields { SecondName = firstName, FirstName = secondName, BirthDate = birthDate, Experience = experience }; var insertedId = await InsertPilot(pilot); var response = await _client.DeleteAsync($"/api/pilots/{insertedId}"); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); }
public async Task PostPilotRequestValidation() { var pilot = new EditablePilotFields { SecondName = "Test", FirstName = "Pilot", BirthDate = DateTime.Now.AddYears(-100) }; var content = new StringContent(JsonConvert.SerializeObject(pilot), Encoding.UTF8, "application/json"); var response = await _client.PostAsync("/api/pilots", content); Assert.IsNotNull(response); var contentResponse = await response.Content.ReadAsStringAsync(); Assert.IsNotNull(contentResponse); }
public async Task PilotControllerPutUpdatesPilot() { var initialPilot = (await _pilotsController.Get(1) as OkObjectResult)?.Value as PilotDto; Assert.IsNotNull(initialPilot); var updateSecondName = "TesterUpdated"; var updateFirstName = "PilotUpdated"; var updateBirthDate = new DateTime(2018, 12, 12); var updateExperience = 1; var pilotUpdateRequest = new EditablePilotFields { SecondName = updateSecondName, FirstName = updateFirstName, BirthDate = updateBirthDate, Experience = updateExperience }; var updateResult = await _pilotsController.Put(1, pilotUpdateRequest) as OkResult; Assert.IsNotNull(updateResult); Assert.AreEqual(200, updateResult.StatusCode); var updatedPilot = (await _pilotsController.Get(1) as OkObjectResult)?.Value as PilotDto; Assert.IsNotNull(updatedPilot); Assert.AreEqual(updateSecondName, updatedPilot.SecondName); Assert.AreEqual(updateFirstName, updatedPilot.FirstName); Assert.AreEqual(updateBirthDate, updatedPilot.BirthDate); Assert.AreEqual(updateExperience, updatedPilot.Experience); Assert.AreEqual(initialPilot.Id, updatedPilot.Id); Assert.AreNotEqual(initialPilot.FirstName, updatedPilot.FirstName); Assert.AreNotEqual(initialPilot.SecondName, updatedPilot.SecondName); Assert.AreNotEqual(initialPilot.BirthDate, updatedPilot.BirthDate); Assert.AreNotEqual(initialPilot.Experience, updatedPilot.Experience); }