public HttpResponseMessage Post(PatientInput patient) { var patientToSave = Mapper.Map<Patient>(patient); var result = _referralService.AddPatient(patientToSave); var response = Request.CreateResponse(HttpStatusCode.Created, result); if (result != null) { string uri = Url.Link(WebApiConfig.ControllerAndId, new { id = result.Id }); response.Headers.Location = new Uri(uri); return response; } else { return new HttpResponseMessage(HttpStatusCode.BadRequest); } }
public void Post_Should_Save_Successfully() { // Arrange var patient = new Patient { Id=0, LastName = "", FirstName = "", Email = "*****@*****.**", Cell = "" }; var patientInput = new PatientInput { LastName = "", FirstName = "", Email = "*****@*****.**", Cell = "" }; mock.Setup<Patient>(s => s.AddPatient(It.IsAny<Patient>())).Returns(patient); // Act var response = client.PostAsJsonAsync<PatientInput>(baseAddress + "api/referrals", patientInput).Result; // Assert response.StatusCode.ShouldEqual(HttpStatusCode.Created); var result = response.Content.ReadAsStringAsync().Result; result.ShouldContain("Email"); result.ShouldContain("*****@*****.**"); }
public void Post_Should_Validae_Model() { // Arrange var patient = new PatientInput { LastName = "", FirstName = "", Email = "", Cell = "" }; // Act var response = client.PostAsJsonAsync<PatientInput>(baseAddress + "api/referrals", patient).Result; // Assert response.StatusCode.ShouldEqual(HttpStatusCode.BadRequest); var result = response.Content.ReadAsStringAsync().Result; result.ShouldContain("Email is required"); }