public void HappinessViewModelToFormData_FullData() { //Arrange var hViewModel = new HappinessFormViewModel { Id = 3, HappinessLevel = 70 }; var hFormData = CreateEmptyHappinessFormData(); //Act formController.MapHappinessViewModelToFormData(hViewModel, hFormData); //Assert Assert.That(hFormData.HappinessLevel.Value, Is.EqualTo("70")); }
public void PostEditHappinessFormData_NonExistingForm_Test() { //Arrange var model = new HappinessFormViewModel { Id = 12, FormId = 13, HappinessLevel = 90 }; fRep.Setup(r => r.GetByKey(13)).Returns((Form) null); //Act var result = formController.EditHappinessForm(model); //Assert CheckErrorInfoViewResult(result); }
public void PostEditHappinessFormData_NonExistingFormData_Test() { //Arrange var form = new Form { Id = 13, FormState = FormState.Incomplete }; var model = new HappinessFormViewModel { Id = 12, FormId = 13, HappinessLevel = 90 }; fRep.Setup(r => r.GetByKey(13)).Returns(form); //here we return "formdata before editing" - this data should be overwritten from model hfdRep.Setup(r => r.GetByKey(12)).Returns((HappinessFormData) null); //Act var result = formController.EditHappinessForm(model); //Assert CheckErrorInfoViewResult(result); }
public void PostEditHappinessFormData_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 HappinessFormData { Id = 12, Form = form, HappinessLevel = new Question() { Id = 75, Value = "75" } }; var model = new HappinessFormViewModel { Id = 12, FormId = 13, HappinessLevel = 91 }; fRep.Setup(r => r.GetByKey(model.FormId)).Returns(form); //here we return "formdata before editing" - this data should be overwritten from model hfdRep.Setup(r => r.GetByKey(model.Id)).Returns(formData); //as checking of saved formdata is quite complicated, we will save the passed object and inspect it later HappinessFormData savedFormData = null; hfdRep.Setup(r => r.Edit(It.IsAny<HappinessFormData>())).Callback<HappinessFormData>(fd => savedFormData = fd); Form savedForm = null; fRep.Setup(r => r.Edit(It.IsAny<Form>())).Callback<Form>(f => savedForm = f); //Act var result = formController.EditHappinessForm(model); //Assert CheckEditFormDataRedirectRouteValues(result, form); hfdRep.Verify(r => r.GetByKey(model.Id), Times.Once()); hfdRep.Verify(r => r.Edit(It.IsAny<HappinessFormData>()), Times.Once()); hfdRep.Verify(r => r.Save(), Times.Once()); fRep.Verify(r => r.GetByKey(model.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(model.Id)); Assert.That(savedFormData.HappinessLevel.Value, Is.EqualTo("91")); Assert.That(savedForm, Is.Not.Null); Assert.That(savedForm.Id, Is.EqualTo(model.FormId)); Assert.That(savedForm.FormState, Is.EqualTo(FormState.Completed)); }
public void PostEditHappinessFormData_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 HappinessFormData { Id = 12, Form = form, HappinessLevel = new Question() { Id = 75, Value = "75" } }; var incomingModel = new HappinessFormViewModel { Id = 12, FormId = 13, HappinessLevel = 50 }; fRep.Setup(r => r.GetByKey(incomingModel.FormId)).Returns(form); //here we return "formdata before editing" - this data should be overwritten from model hfdRep.Setup(r => r.GetByKey(incomingModel.Id)).Returns(formData); //Act var result = formController.EditHappinessForm(incomingModel); //Assert hfdRep.Verify(r => r.GetByKey(incomingModel.Id), Times.Once()); hfdRep.Verify(r => r.Edit(It.IsAny<HappinessFormData>()), Times.Never()); hfdRep.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); HappinessFormViewModel model = viewResultBase.Model as HappinessFormViewModel; Assert.That(model, Is.Not.Null); Assert.That(model.DataChangeReasonRequired); Assert.That(model.ChangeInfos, Is.Not.Null); Assert.That(model.ChangeInfos.Count, Is.EqualTo(1)); AssertChangeInfo(formData.HappinessLevel, "Pretty Happy", "Happy", model); }