コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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("*****@*****.**");
        }
コード例 #3
0
        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");
        }