public void CreateCompanyWithAppraisalCompanyAdminUser(AppraisalCompanySignUpViewModel viewModel, AddressViewModel companyAddressModel)
		{
			AppraisalCompanyProfileViewModel companyViewModel = new AppraisalCompanyProfileViewModel();
			companyViewModel.CompanyName = viewModel.CompanyName;
			companyViewModel.CompanyType = viewModel.CompanyType.HasValue && viewModel.CompanyType.Value != 0 ? viewModel.CompanyType : null;

			var dbCompany = _appraisalCompanyManagement.CreateAppraisalCompany(companyViewModel);
			dbCompany.Contact = new AppraisalCompanyContact();
			if (companyAddressModel != null)
			{
				dbCompany.Contact.PhysicalAddress = new Address()
																		{
																			City = companyAddressModel.City,
																			State = companyAddressModel.State.Substring(0,2),
																			Street = companyAddressModel.Street,
																			Street2 = companyAddressModel.Street2,
																			ZIP = companyAddressModel.ZIP,
																		};
			}
			else
			{
				dbCompany.Contact.PhysicalAddress = new Address() { State = viewModel.LocationState.Substring(0, 2) };
			}

			var user = _usersManagement.CreateUser(viewModel.AppraisalCompanyAdmin, RoleType.CompanyAdminAndAppraiser);
			AppraiserUser appraiserUser = new AppraiserUser();
			appraiserUser.Company = dbCompany;
			appraiserUser.User = user;
			appraiserUser.Status = AppraiserUserStatus.Applied;

			_appraisalCompanyAdminManagement.CreateUser(appraiserUser);
		}
Example #2
0
		public void AvmServiceTest_StoreInDb_StoreInStorage()
		{
			//arrange
			var orderId = 1;
			var currentUserId = 1;
			_orderManager.GetOrderById(1).Returns(new Order
				{
					Id = orderId,
					GeneralInfo = new OrderGeneralInfo
						{
							PropertyAddress = new Address(),
						},
				});

			//act
			var address = new AddressViewModel
			{
				ZIP = "92037",
				Street = "5961 LA JOLLA MESA DR"
			};
			_avmRequestsService.SendRequest(orderId, currentUserId);

			//assert
			var a = _avmRequestsRepository.Get(q => q.RequestUserId == currentUserId && q.OrderId == orderId);
			a.Should().HaveCount(1);
			a.Should().NotBeNull();
			foreach (var item in a)
			{
				using (var client = new StorageServiceClient())
				{
					var fileExist = client.IsDocumentExist(item.ResponseDocumentId.Value);
					fileExist.Should().BeTrue();
				}
			}
		}
		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 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>();
		}