public void GivenTypeIsPrivateHealthField_AndUserDoesntHaveAccessToAllFields_WhenIGenerateMapFieldsViewModel_ThenAPopulatedUploadWizardViewModelIsReturnedWithOnlyExpectedPrivateHealthFields() { var expectedPublicFields = Data.CustomFields.OrderBy(c => c.Name).OfType <PrivateHealthField>().ToList(); expectedPublicFields.Insert(0, new PrivateHealthField { Id = 0, Name = "Student Id" } ); var viewModel = new UploadWizardFileViewModel { NumberOfFields = 1, File = MockRepository.GenerateMock <HttpPostedFileBase>() }; viewModel.File.Expect(f => f.InputStream).Return(new MemoryStream()); IPermission permission = MockRepository.GenerateMock <IPermission>(); permission.Expect(p => p.GrantAccess(User)).Throw(new EntityAccessUnauthorizedException()); PermissionFactory.Current.Expect(m => m.Create("UploadCustomFieldData", Data.CustomFields.Last())).Return(permission); var model = Target.GenerateMapFieldsViewModel(viewModel, typeof(PrivateHealthField), User) as UploadWizardModel; Assert.IsNotNull(model); Assert.AreEqual(expectedPublicFields.Count - 1, model.CustomFields[0].CustomFields.Count()); }
public override ViewResult UploadWizardConfirmed(UploadWizardFileViewModel model) { if (ModelState.IsValid) { var page2Model = LogicManager.GenerateMapFieldsViewModel(model, typeof(PrivateHealthField), (EducationSecurityPrincipal)User); return(View("UploadWizard2", page2Model)); } return(View(model)); }
public void GivenModelStateErrors_WhenUploadWizardConfirmed_ThenViewResultWithTheFirstModelReturned() { UploadWizardFileViewModel model = new UploadWizardFileViewModel(); Target.ModelState.AddModelError("blah", "blerg"); var result = Target.UploadWizardConfirmed(new UploadWizardFileViewModel()) as ViewResult; result.AssertGetViewModel <UploadWizardFileViewModel>(); }
public void GivenNoModelStateErrors_WhenUploadWizardConfirmed_ThenAViewResultIsReturned() { UploadWizardFileViewModel model = new UploadWizardFileViewModel(); MockLogicManager.Expect(m => m.GenerateMapFieldsViewModel(model, typeof(PrivateHealthField), User)).Return(new UploadWizardModel()); var result = Target.UploadWizardConfirmed(model) as ViewResult; Assert.IsNotNull(result); result.AssertGetViewModel <UploadWizardModel>(); }
public UploadWizardModel GenerateMapFieldsViewModel(UploadWizardFileViewModel model, Type t, EducationSecurityPrincipal user) { if (model == null) { throw new ArgumentNullException("model"); } var blobAddress = DateTime.Now.Ticks + model.File.FileName; UploadFileToBlobStorage(blobAddress, model.File.InputStream); model.BlobAddress = blobAddress; model.CustomFields = CreateCustomFieldSelectViewModelsToMap(model.NumberOfFields, t, user); return(model); }