public AppraiserUserCreateViewModel() { GeneralInfo = new CreateUserGeneralInfoViewModel(); Contact = new AppraiserUserContactViewModel(); CompanyInfo = new AppraiserUserCompanyInfoViewModel(); }
private ActionResult GetContactView(AppraiserUserContactViewModel appraiserContactViewModel, int? userId) { ViewBag.Header = appraiserContactViewModel.SectionTitle; ViewBag.IsOwnPage = appraiserContactViewModel.IsOwnPage; ViewBag.CurrentStep = NameHelper.AppraiserProfile.Contact; return View(NameHelper.AppraiserProfile.Contact, GetViewModel(appraiserContactViewModel, userId)); }
public ActionResult Contact(AppraiserUserContactViewModel contactModel, string nextStep, int? userId) { if (contactModel.EditUserId == 0) { contactModel.EditUserId = userId.HasValue ? userId.Value : 0; } if (ModelState.IsValid) { var validateAddress = new ValidateAddressArg { City = string.IsNullOrEmpty(contactModel.PhysicalAddress.City) ? string.Empty : contactModel.PhysicalAddress.City, State = string.IsNullOrEmpty(contactModel.PhysicalAddress.State) ? string.Empty : contactModel.PhysicalAddress.State, Street = string.IsNullOrEmpty(contactModel.PhysicalAddress.Street) ? string.Empty : contactModel.PhysicalAddress.Street, ZIP = string.IsNullOrEmpty(contactModel.PhysicalAddress.ZIP) ? string.Empty : contactModel.PhysicalAddress.ZIP }; var geocodingValidationResult = _geocodingValidation.ValidateAddress(validateAddress); if (geocodingValidationResult != null && !geocodingValidationResult.IsValid) { ViewBag.CurrentControllerName = NameHelper.AppraiserProfile.Controller; ViewBag.GeocodingErrorMessage = Constants.ErrorMessages.GeocodingVerificationError; return GetContactView(contactModel, contactModel.EditUserId); } _appraiserUserService.SaveAppraiserContact(contactModel, User.Identity.Name); CommitProviderInstance.Commit(); return RedirectToStep(nextStep, contactModel.EditUserId, contactModel.IsOwnPage); } TempData[_appraiserContactKey] = contactModel; return RedirectToStep(NameHelper.AppraiserProfile.Contact, contactModel.EditUserId, contactModel.IsOwnPage); }
public void SaveAppraiserUser_should_throw_exception_if_company_admin_assigns_user_to_inactive_branch() { var companyInfo = new AppraiserUserCompanyInfoViewModel() { CompanyID = 1 }; companyInfo.Branches = new List<AppraiserUserCompanyInfoBranchViewModel>(new AppraiserUserCompanyInfoBranchViewModel[] { new AppraiserUserCompanyInfoBranchViewModel() { BranchID = 1, Status = AppraisalCompanyStatus.Inactive} }); var companyAdminRole = Singletones.ReferenceManager.GetRole(RoleType.AppraisalCompanyAdmin); User user = new User() { Roles = new List<Role>(new Role[] { companyAdminRole }) }; _userManager.GetByEmail(Arg.Any<string>()).Returns(user); _appraiserService.GetAppraiserCompanyInfo(Arg.Any<string>()).Returns(companyInfo); _companyService.GetAppraisalCompanyDetails(Arg.Any<int>()).Returns(new AppraisalCompanyDetailsViewModel() { Status = AppraisalCompanyStatus.Applied }); var viewContext = new ViewContext(); viewContext.HttpContext = MockHttpContext.FakeHttpContext(); IPrincipal currentUser = new GenericPrincipal(new GenericIdentity("someUser"), null); viewContext.HttpContext.User.IsInRole(companyAdminRole.RoleType.ToString()).Returns(true); _target.CommitProviderInstance = Substitute.For<ICommitProvider>(); _target.SetFakeControllerContext(viewContext.HttpContext); var addressViewModel = new AddressViewModel(); var appraiserUserContactViewModel = new AppraiserUserContactViewModel { PhysicalAddress = addressViewModel }; var userModel = new AppraiserUserCreateViewModel() { GeneralInfo = new CreateUserGeneralInfoViewModel() { RoleType = RoleType.Appraiser }, Contact = appraiserUserContactViewModel, }; var companyModel = new AppraiserUserCompanyInfoViewModel() { CompanyID = 1, BranchID = 2 }; // act _target.Invoking(a => a.SaveAppraiserUser(userModel, companyModel, true)).ShouldThrow<ArgumentException>(); }
public PartialViewResult AddPhone() { var phonesViewModel = new PhonesViewModel(); phonesViewModel.PhoneItems = new List<PhoneItemViewModel> { new PhoneItemViewModel { Id = Guid.NewGuid().ToString(), PhoneType = PhoneType.Mobile } }; var appraiserContactViewModel = new AppraiserUserContactViewModel { Phones = phonesViewModel }; return PartialView("AppraiserTabs/Contact", appraiserContactViewModel); }
public void SaveAppraiserContact_should_throw_exception_if_contact_or_loginname_params_are_null() { var contactViewModel = new AppraiserUserContactViewModel() { TextMsgNumber = "12345678" }; //act Target.Invoking(m => m.SaveAppraiserContact(null, "test")).ShouldThrow<ArgumentNullException>().And.ParamName.Should().Contain("contact"); Target.Invoking(m => m.SaveAppraiserContact(contactViewModel, null)).ShouldThrow<ArgumentNullException>().And.ParamName.Should().Contain("email"); Target.Invoking(m => m.SaveAppraiserContact(contactViewModel, String.Empty)).ShouldThrow<ArgumentNullException>().And.ParamName.Should().Contain("email"); }
public void SaveAppraiserUser_should_throw_exception_if_users_role_is_illegal() { var viewContext = new ViewContext(); viewContext.HttpContext = MockHttpContext.FakeHttpContext(); IPrincipal currentUser = new GenericPrincipal(new GenericIdentity("someUser"), null); var dvsAdminRole = Singletones.ReferenceManager.GetRole(RoleType.DvsAdmin); viewContext.HttpContext.User.IsInRole(dvsAdminRole.RoleType.ToString()).Returns(true); _target.CommitProviderInstance = Substitute.For<ICommitProvider>(); _target.SetFakeControllerContext(viewContext.HttpContext); var addressViewModel = new AddressViewModel(); var appraiserUserContactViewModel = new AppraiserUserContactViewModel { PhysicalAddress = addressViewModel }; var userModel = new AppraiserUserCreateViewModel() { GeneralInfo = new CreateUserGeneralInfoViewModel() { RoleType = RoleType.DvsSuperAdmin }, Contact = appraiserUserContactViewModel, }; var companyModel = new AppraiserUserCompanyInfoViewModel(); // act _target.Invoking(a => a.SaveAppraiserUser(userModel, companyModel, true)).ShouldThrow<ArgumentException>(); }
public void CreateAppraiserUser_should_create_user() { var company = new AppraisalCompanyDetail() { Branches = new List<AppraisalCompanyBranch>() }; AppraisalCompanyManager.GetAppraisalCompanyById(1).Returns(company); var generalInfo = new CreateUserGeneralInfoViewModel() { Email = "email", Password = "******", RoleType = RoleType.Appraiser }; IAppraiserUserRepository appUserRepository = Substitute.For<IAppraiserUserRepository>(); var _taskManager = Substitute.For<ITaskManager>(); ReferenceManager.GetRoleWithoutCache(RoleType.Appraiser).Returns(new Role() { Id = (int)RoleType.Appraiser }); AppraiserManager = new AppraiserManagement(Substitute.For<IUserRepository>(), appUserRepository, ReferenceManager, _taskManager, Substitute.For<IAscGovLicenseService>()); Target = new AppraiserUserService(UsersManager, AppraiserManager, ReferenceManager, AppraisalCompanyManager, StatusHistoryManager, FeeManager, LicenseManager, AppraiserAccessManager, CryptographicProvider, DocumentService, Substitute.For<IGeocodingDataService>()); var contactInfo = new AppraiserUserContactViewModel() { PhysicalAddress = new AddressViewModel() }; var companyInfo = new AppraiserUserCompanyInfoViewModel() { CompanyID = 1 }; var appraiser = new AppraiserUserCreateViewModel() { GeneralInfo = generalInfo, Contact = contactInfo, CompanyInfo = companyInfo }; var serviceAreaRadiuses = new Dictionary<RefServiceAreaRadiuse, string>(); serviceAreaRadiuses.Add(new RefServiceAreaRadiuse() { ServiceAreaRadius = 1 }, "123"); ReferenceManager.GetServiceAreaRadiuses().Returns(serviceAreaRadiuses); //act Target.CreateAppraiserUser(appraiser); appUserRepository.Received().Add(Arg.Any<AppraiserUser>()); }
public void CreateAppraiserUser_should_throw_exception_if_user_assigned_to_nonexsistent_branch() { var company = new AppraisalCompanyDetail() { Branches = new List<AppraisalCompanyBranch>() }; ReferenceManager.GetRole(Arg.Any<RoleType>()).Returns(new Role() { Id = (int)RoleType.Appraiser }); AppraisalCompanyManager.GetAppraisalCompanyById(1).Returns(company); var generalInfo = new CreateUserGeneralInfoViewModel() { Email = "email", Password = "******" }; AppraiserUser appUser = new AppraiserUser(); appUser.User = new User(); appUser.User.Roles = new List<Role>() { new Role() { Id = (int)RoleType.Appraiser } }; AppraiserManager.CheckAndCreateAppraiserUser(Arg.Any<User>(), generalInfo.Password, Arg.Any<AppraiserUserStatus>()).Returns(appUser); var contactInfo = new AppraiserUserContactViewModel() { PhysicalAddress = new AddressViewModel() }; var companyInfo = new AppraiserUserCompanyInfoViewModel() { CompanyID = 1, BranchID = 10 }; var appraiser = new AppraiserUserCreateViewModel() { GeneralInfo = generalInfo, Contact = contactInfo, CompanyInfo = companyInfo }; //act Target.Invoking(a => a.CreateAppraiserUser(appraiser)).ShouldThrow<ArgumentException>(); }
public void SaveAppraiserContact_should_throw_exception_if_user_is_appraiser_and_PhysicalAddressRequired_is_null() { var contactInfo = new AppraiserUserContactViewModel(); AppraiserAccessManager.IsOtherUserDataAvailable(Arg.Any<int?>()).Returns(true); var user = new User(); user.Roles = new List<Role>() { new Role() { Id = (int)RoleType.Appraiser } }; var appraiserUser = new AppraiserUser() { User = user }; AppraiserManager.GetByEmail(Arg.Any<string>()).Returns(appraiserUser); //act Target.Invoking(m => m.SaveAppraiserContact(contactInfo, "*****@*****.**")).ShouldThrow<NullReferenceException>(); }
public void AppraiserWizard_Contact_invalid_model_post_should_redirect_to_contact_with_model() { Target.ModelState.AddModelError("test error", "test error"); var model = new AppraiserUserContactViewModel(); var actionResult = Target.Contact(model, null); Target.TempData.Should().HaveCount(1); actionResult.Should().NotBeNull().And.BeOfType<RedirectToRouteResult>(); ((RedirectToRouteResult)actionResult).RouteValues.Should().HaveCount(1); ((RedirectToRouteResult)actionResult).RouteValues["action"].Should().Be("Contact"); }
public void AppraiserWizard_Contact_valid_model_post_without_nextstep_should_populate_savedraft_and_redirect_to_itself() { var model = new AppraiserUserContactViewModel(); var actionResult = Target.Contact(model, null); Target.TempData.Should().HaveCount(1); Target.TempData["SaveDraft"].Should().Be(true); actionResult.Should().NotBeNull().And.BeOfType<RedirectToRouteResult>(); ((RedirectToRouteResult)actionResult).RouteValues.Should().HaveCount(1); ((RedirectToRouteResult)actionResult).RouteValues["action"].Should().Be("Contact"); }
private ActionResult GetContactView(AppraiserUserContactViewModel model) { ViewBag.CurrentStep = (int)TabIndex.Contact; return View(NameHelper.AppraiserWizard.Contact, GetWrappedViewModel(model)); }
public ActionResult Contact(AppraiserUserContactViewModel contactModel, int? nextStep) { if ((nextStep ?? (int)TabIndex.Contact) <= (int)TabIndex.Contact || ModelState.IsValid) { if (!nextStep.HasValue || nextStep.Value == (int)TabIndex.Contact) { TempData["SaveDraft"] = true; _appraiserUserService.SaveAppraiserContact(contactModel, User.Identity.Name); SaveLastCompletedStep(TabIndex.Contact, nextStep); CommitProviderInstance.Commit(); return RedirectToStep(SafeConvert.ToEnum<TabIndex>(nextStep) ?? TabIndex.Contact); } var validateAddress = new ValidateAddressArg { City = contactModel.PhysicalAddress.City, State = contactModel.PhysicalAddress.State, Street = contactModel.PhysicalAddress.Street, ZIP = contactModel.PhysicalAddress.ZIP }; var geocodingValidationResult = _geocodingValidation.ValidateAddress(validateAddress); if (geocodingValidationResult.IsValid) { _appraiserUserService.SaveAppraiserContact(contactModel, User.Identity.Name); SaveLastCompletedStep(TabIndex.Contact, nextStep); CommitProviderInstance.Commit(); return RedirectToStep(SafeConvert.ToEnum<TabIndex>(nextStep) ?? TabIndex.Contact); } ViewBag.GeocodingErrorMessage = Constants.ErrorMessages.GeocodingVerificationError; return GetContactView(contactModel); } TempData[_appraiserContactKey] = contactModel; return RedirectToStep(TabIndex.Contact); }