public void VitalsViewModelToFormData_FullData() { //Arrange var vViewModel = new VitalsFormViewModel { Id = 2, ActualTime = new DateTime(2011, 11, 12, 11, 12, 13), Height = 178, Weight = 91, Temperature = 37.6m, HeartRate = 67, BloodPressureSystolic = "125", BloodPressureDiastolic = "75" }; var vFormData = CreateEmptyVitalsFormData(); //Act formController.MapVitalsViewModelToFormData(vViewModel, vFormData); //Assert Assert.That(vFormData.ActualTime.Value, Is.EqualTo(new DateTime(2011, 11, 12, 11, 12, 13).ToString(CultureInfo.InvariantCulture))); Assert.That(vFormData.Height.Value, Is.EqualTo("178")); Assert.That(vFormData.Weight.Value, Is.EqualTo("91")); Assert.That(vFormData.Temperature.Value, Is.EqualTo(37.6m.ToString(CultureInfo.InvariantCulture))); Assert.That(vFormData.HeartRate.Value, Is.EqualTo("67")); Assert.That(vFormData.BloodPressureSystolic.Value, Is.EqualTo("125")); Assert.That(vFormData.BloodPressureDiastolic.Value, Is.EqualTo("75")); }
public void PostEditVitalsFormData_NonExistingForm_Test() { //Arrange var model = new VitalsFormViewModel { Id = 12, FormId = 13, ActualTime = new DateTime(2012, 10, 11, 15, 16, 17), Height = 171, Weight = 51, HeartRate = 21, Temperature = 31, BloodPressureSystolic = "121", BloodPressureDiastolic = "71" }; fRep.Setup(r => r.GetByKey(13)).Returns((Form) null); //Act var result = formController.EditVitalsForm(model); //Assert CheckErrorInfoViewResult(result); }
public void PostEditVitalsFormData_ChangedValues_IncompleteForm_Test() { //Arrange EmulateControllerContext(formController, false); var form = new Form { Id = 13, FormState = FormState.Incomplete, Caption = "TestForm", Visit = new Visit { Caption = "TestVisit", Patient = new Patient { PatientNumber = 123 } } }; var formData = new VitalsFormData { Id = 12, Form = form, ActualTime = new Question() { Id = 100, Value = new DateTime(2011, 10, 11, 12, 13, 14).ToString(CultureInfo.InvariantCulture) }, Height = new Question() { Id = 101, Value = "170" }, Weight = new Question() { Id = 102, Value = "50" }, HeartRate = new Question() { Id = 103, Value = "20" }, Temperature = new Question() { Id = 104, Value = "30" }, BloodPressureSystolic = new Question() { Id = 105, Value = "120" }, BloodPressureDiastolic = new Question() { Id = 106, Value = "70" } }; var incomingModel = new VitalsFormViewModel { Id = 12, FormId = 13, ActualTime = new DateTime(2012, 10, 11, 15, 16, 17), Height = 171, Weight = 51, HeartRate = 21, Temperature = 31, BloodPressureSystolic = "121", BloodPressureDiastolic = "71" }; fRep.Setup(r => r.GetByKey(incomingModel.FormId)).Returns(form); //here we return "formdata before editing" - this data should be overwritten from model vfdRep.Setup(r => r.GetByKey(incomingModel.Id)).Returns(formData); //as checking of saved formdata is quite complicated, we will save the passed object and inspect it later VitalsFormData savedFormData = null; vfdRep.Setup(r => r.Edit(It.IsAny<VitalsFormData>())).Callback<VitalsFormData>(fd => savedFormData = fd); Form savedForm = null; fRep.Setup(r => r.Edit(It.IsAny<Form>())).Callback<Form>(f => savedForm = f); //Act var result = formController.EditVitalsForm(incomingModel); //Assert CheckEditFormDataRedirectRouteValues(result, form); vfdRep.Verify(r => r.GetByKey(incomingModel.Id), Times.Once()); vfdRep.Verify(r => r.Edit(It.IsAny<VitalsFormData>()), Times.Once()); vfdRep.Verify(r => r.Save(), Times.Once()); fRep.Verify(r => r.GetByKey(incomingModel.FormId), Times.Once()); fRep.Verify(r => r.Edit(It.IsAny<Form>()), Times.Once()); fRep.Verify(r => r.Save(), Times.Once()); Assert.That(savedFormData, Is.Not.Null); Assert.That(savedFormData.Id, Is.EqualTo(incomingModel.Id)); Assert.That(savedFormData.ActualTime.Value, Is.EqualTo(new DateTime(2012, 10, 11, 15, 16, 17).ToString(CultureInfo.InvariantCulture))); Assert.That(savedFormData.Height.Value, Is.EqualTo("171")); Assert.That(savedFormData.Weight.Value, Is.EqualTo("51")); Assert.That(savedFormData.HeartRate.Value, Is.EqualTo("21")); Assert.That(savedFormData.Temperature.Value, Is.EqualTo("31")); Assert.That(savedFormData.BloodPressureSystolic.Value, Is.EqualTo("121")); Assert.That(savedFormData.BloodPressureDiastolic.Value, Is.EqualTo("71")); Assert.That(savedForm, Is.Not.Null); Assert.That(savedForm.Id, Is.EqualTo(incomingModel.FormId)); Assert.That(savedForm.FormState, Is.EqualTo(FormState.Completed)); }
public void PostEditVitalsFormData_NonExistingFormData_Test() { //Arrange var form = new Form { Id = 13, FormState = FormState.Incomplete }; var model = new VitalsFormViewModel { Id = 12, FormId = 13, ActualTime = new DateTime(2012, 10, 11, 15, 16, 17), Height = 171, Weight = 51, HeartRate = 21, Temperature = 31, BloodPressureSystolic = "121", BloodPressureDiastolic = "71" }; fRep.Setup(r => r.GetByKey(13)).Returns(form); //here we return "formdata before editing" - this data should be overwritten from model vfdRep.Setup(r => r.GetByKey(12)).Returns((VitalsFormData) null); //Act var result = formController.EditVitalsForm(model); //Assert CheckErrorInfoViewResult(result); }
public void PostEditVitalsFormData_ChangedUnconfirmedValues_Test() { //Arrange EmulateControllerContext(formController, false); var form = new Form { Id = 13, FormState = FormState.Completed, Caption = "TestForm", Visit = new Visit { Caption = "TestVisit", Patient = new Patient { PatientNumber = 123 } } }; var formData = new VitalsFormData { Id = 12, Form = form, ActualTime = new Question() { Id = 100, Value = new DateTime(2011, 10, 11, 12, 13, 14).ToString(CultureInfo.InvariantCulture) }, Height = new Question() { Id = 101, Value = "170" }, Weight = new Question() { Id = 102, Value = "50" }, HeartRate = new Question() { Id = 103, Value = "20" }, Temperature = new Question() { Id = 104, Value = "30" }, BloodPressureSystolic = new Question() { Id = 105, Value = "120" }, BloodPressureDiastolic = new Question() { Id = 106, Value = "70" } }; var incomingModel = new VitalsFormViewModel { Id = 12, FormId = 13, ActualTime = new DateTime(2012, 10, 11, 15, 16, 17), Height = 171, Weight = 51, HeartRate = 21, Temperature = 31, BloodPressureSystolic = "121", BloodPressureDiastolic = "71" }; fRep.Setup(r => r.GetByKey(incomingModel.FormId)).Returns(form); //here we return "formdata before editing" - this data should not be overwritten from model as no any data change note provided vfdRep.Setup(r => r.GetByKey(incomingModel.Id)).Returns(formData); //Act var result = formController.EditVitalsForm(incomingModel); //Assert vfdRep.Verify(r => r.GetByKey(incomingModel.Id), Times.Once()); vfdRep.Verify(r => r.Edit(It.IsAny<VitalsFormData>()), Times.Never()); vfdRep.Verify(r => r.Save(), Times.Never()); fRep.Verify(r => r.GetByKey(incomingModel.FormId), Times.Once()); fRep.Verify(r => r.Edit(It.IsAny<Form>()), Times.Never()); fRep.Verify(r => r.Save(), Times.Never()); Assert.That(result, Is.Not.Null); Assert.That(result is ViewResultBase); var viewResultBase = result as ViewResultBase; Assert.That(viewResultBase.Model, Is.Not.Null); VitalsFormViewModel model = viewResultBase.Model as VitalsFormViewModel; Assert.That(model, Is.Not.Null); Assert.That(model.DataChangeReasonRequired); Assert.That(model.ChangeInfos, Is.Not.Null); Assert.That(model.ChangeInfos.Count, Is.EqualTo(7)); AssertChangeInfo(formData.Height, "170", "171", model); AssertChangeInfo(formData.Weight, "50", "51", model); AssertChangeInfo(formData.HeartRate, "20", "21", model); AssertChangeInfo(formData.Temperature, "30", "31", model); AssertChangeInfo(formData.BloodPressureSystolic, "120", "121", model); AssertChangeInfo(formData.BloodPressureDiastolic, "70", "71", model); AssertChangeInfo(formData.ActualTime, "12:13 PM", "3:16 PM", model); }