/// <summary> /// Updates a complaint in the database /// </summary> /// <param name="feedId"></param> /// <param name="complaintId"></param> /// <param name="complaint"></param> /// <returns></returns> public async Task <Response <string> > EditComplaint(string complaintId, EditComplaintDTO complaint) { var response = new Response <string>(); var complaintToEdit = await _complaintsRepo.GetById(complaintId); //end the process if the complaint is not found if (complaintToEdit == null) { response.Message = "Error retrieving complaint"; return(response); } //updates dynamic values of the complaint complaintToEdit.Question = complaint.Question; complaintToEdit.Image = complaint.Image; complaintToEdit.Title = complaint.Title; complaintToEdit.IsTask = complaint.IsTask; //updates the status of the entity class await _complaintsRepo.Modify(complaintToEdit); response.Message = "Updated successfully"; response.Success = true; return(response); }
public static Complaint FromEditComplaintDTO(EditComplaintDTO complaint) { return(new Complaint { Type = complaint.Type, Image = complaint.Image, IsTask = complaint.IsTask, Question = complaint.Question }); }
public async Task FailWhenComplaintNotFound() { //Arrange MockUp(null); var complaintServices = new ComplaintServices(_serviceProvider); var complaintId = ""; var complaint = new EditComplaintDTO(); //Act var actual = await complaintServices.EditComplaint(complaintId, complaint); //Assert Assert.IsFalse(actual.Success); }
public async Task ReturnValidResponse() { //Arrange MockUp(new Complaint()); var complaintServices = new ComplaintServices(_serviceProvider); var complaintId = ""; var complaint = new EditComplaintDTO(); //Act var actual = await complaintServices.EditComplaint(complaintId, complaint); //Assert Assert.IsTrue(actual.Success); }
public async Task BadRequestResponse() { //Arrange MockUp(false); var feedController = new FeedController(_serviceProvider); var complaintid = ""; var complaint = new EditComplaintDTO(); var expected = 400; //ACT var actual = await feedController.EditComplaint(complaintid, complaint) as BadRequestObjectResult; //Assert Assert.IsNotNull(actual); Assert.AreEqual(expected, actual.StatusCode); }
public async Task <IActionResult> EditComplaint([FromRoute] string complaintId, [FromBody] EditComplaintDTO model) { var result = await _complaintsServices.EditComplaint(complaintId, model); if (result.Success) { return(Ok(result)); } return(BadRequest(result)); }