public void GetAppraisalCompanySoftware_should_populate_to_correct_fields()
		{
			AppraisalCompanyDetail dbCompanyDetails = new AppraisalCompanyDetail();
			dbCompanyDetails.Software = new AppraisalCompanySoftware()
			{
				IsACI = true,
				IsClickFormsBradfordTechnologies = false,
				IsGlobalDMS = true,
				IsHomePuter = false,
				IsModeWinTotalMercury = true,
				IsOtherSpecified = true,
				Other = "sometext"
			};

			AppraisalCompanyManagement.GetAppraisalCompanyById(Arg.Any<int>()).Returns(dbCompanyDetails);
			//act
			var actual = Target.GetAppraisalCompanySoftware(0);
			actual.Should().NotBeNull();
			actual.IsACI.Should().Be(dbCompanyDetails.Software.IsACI);
			actual.IsClickFormsBradfordTechnologies.Should().Be(dbCompanyDetails.Software.IsClickFormsBradfordTechnologies);
			actual.IsGlobalDMS.Should().Be(dbCompanyDetails.Software.IsGlobalDMS);
			actual.IsHomePuter.Should().Be(dbCompanyDetails.Software.IsHomePuter);
			actual.IsModeWinTotalMercury.Should().Be(dbCompanyDetails.Software.IsModeWinTotalMercury);
			actual.IsOtherSpecified.Should().Be(dbCompanyDetails.Software.IsOtherSpecified);
			actual.Other.Should().BeEquivalentTo(dbCompanyDetails.Software.Other);
		}
		public void AppraiserCompanyRepositoryTest_IsAppraisalCompanyExistsTwoParams()
		{
			//arrange
			AppraisalCompanyDetail dbCompany = new AppraisalCompanyDetail();
			dbCompany.CompanyName = "Test";
			dbCompany.Status = AppraisalCompanyStatus.Applied;
			dbCompany.CompanyId = "ABCDEF";
			dbCompany.Contact = new AppraisalCompanyContact()
			{
				PhysicalAddress = new Address()
				{
					City = "Lol City",
					State = "NY",
					ZIP = "12345",
					Street = "Wallstreet",
					Street2 = "Wallstreet2"
				}
			};
			_repository.Add(dbCompany);
			SaveChanges();
			//act
			var expected = _repository.IsAppraisalCompanyExists("Test", "NY");
			//assert
			expected.Should().BeTrue();
		}
		public void CreateCompanyWithAppraisalCompanyAdminUser_should_create_AppraisalCompanyAdmin_and_populate_with_default_values()
		{
			AppraisalCompanySignUpViewModel appraisalCompanySignUpViewModel = new AppraisalCompanySignUpViewModel() { LocationState = "CA, California" };
			AppraisalCompanyDetail companyDetails = new AppraisalCompanyDetail();
			AppraisalCompanyManagement.CreateAppraisalCompany(Arg.Any<AppraisalCompanyProfileViewModel>()).Returns(companyDetails);

			//act
			Target.CreateCompanyWithAppraisalCompanyAdminUser(appraisalCompanySignUpViewModel);
			AppraiserManagement.Received().CreateUser(Arg.Is<AppraiserUser>(aca => aca.Status == AppraiserUserStatus.Applied));
		}
		private void IndexRedirectAction(int step, string expectedAction)
		{
			var company = new AppraisalCompanyDetail { LastWizardStep = step };
			AppraiserManagement.GetByEmail(Arg.Any<string>()).Returns(new AppraiserUser { Company = company });
			var actionResult = Target.Index();

			actionResult.Should().NotBeNull().And.BeOfType<RedirectToRouteResult>();
			((RedirectToRouteResult)actionResult).RouteValues.Should().HaveCount(1);
			((RedirectToRouteResult)actionResult).RouteValues["action"].Should().Be(expectedAction);
		}
Exemple #5
0
		public AppraisalCompanyDetail CreateAppraisalCompany(AppraisalCompanyProfileViewModel viewModel)
		{
			if (viewModel == null)
				throw new ArgumentNullException("AppraisalCompany cannot be null");

			AppraisalCompanyDetail dbCompany = new AppraisalCompanyDetail();
			dbCompany.CompanyName = viewModel.CompanyName;
			dbCompany.Status = AppraisalCompanyStatus.Applied;
			dbCompany.CompanyId = GenerateCompanyId();
			dbCompany.CompanyTypeId = viewModel.CompanyType;

			_appraisalCompanyRepository.Add(dbCompany);

			return dbCompany;
		}
		public void CreateCompanyWithAppraisalCompanyAdminUser_should_create_AppraisalCompanyAdmin_from_AppraisalCompanyAddViewModel()
		{
			var model = new AppraisalCompanyAddViewModel()
				{
					AppraisalCompanyAdmin = new DVS.Logic.ViewModels.UserViewModel() { FirstName = "first", LastName = "last", Email = "*****@*****.**" },
					CompanyName = "name",
					PhysicalAddress = new DVS.Logic.ViewModels.AddressViewModel() { City = "city", State = "CA, California", Street = "street", ZIP = "00000" }
				};
			AppraisalCompanySignUpViewModel appraisalCompanySignUpViewModel = new AppraisalCompanySignUpViewModel() { LocationState = "CA, California" };
			AppraisalCompanyDetail companyDetails = new AppraisalCompanyDetail();
			AppraisalCompanyManagement.CreateAppraisalCompany(Arg.Any<AppraisalCompanyProfileViewModel>()).Returns(companyDetails);

			//act
			Target.CreateCompanyWithAppraisalCompanyAdminUser(model);
			AppraiserManagement.Received().CreateUser(Arg.Is<AppraiserUser>(aca => aca.Status == AppraiserUserStatus.Applied));
		}
		public void CreateCompanyWithAppraisalCompanyAdminUser_should_create_AppraisalCompanyViewModel_and_populate_it()
		{
			var user = new User();
			UsersManagement.CreateUser(Arg.Any<UserViewModel>(), Arg.Any<RoleType>()).Returns(user);

			string companyName = "TestCompany";
			AppraisalCompanySignUpViewModel appraisalCompanySignUpViewModel = new AppraisalCompanySignUpViewModel() { LocationState = "CA, California" };
			appraisalCompanySignUpViewModel.CompanyName = companyName;
			AppraisalCompanyDetail companyDetails = new AppraisalCompanyDetail();
			AppraisalCompanyManagement.CreateAppraisalCompany(Arg.Any<AppraisalCompanyProfileViewModel>()).Returns(companyDetails);

			//act
			Target.CreateCompanyWithAppraisalCompanyAdminUser(appraisalCompanySignUpViewModel);
			AppraisalCompanyManagement.Received().CreateAppraisalCompany(Arg.Is<AppraisalCompanyProfileViewModel>(ac =>
				string.Equals(ac.CompanyName, companyName)));
		}
		public void AppraiserCompanyRepositoryTest_GetById()
		{
			//arrange
			AppraisalCompanyDetail dbCompany = new AppraisalCompanyDetail();
			dbCompany.CompanyName = "Test";
			dbCompany.Status = AppraisalCompanyStatus.Applied;
			dbCompany.CompanyId = "ABCDEF";
			_repository.Add(dbCompany);
			SaveChanges();
			//act
			var expected = _repository.GetById(dbCompany.Id);
			//assert
			expected.Should().NotBeNull();
			expected.CompanyName.Should().Be("Test");
			expected.CompanyId.Should().Be("ABCDEF");
			expected.Status.Should().Be(AppraisalCompanyStatus.Applied);
		}
		public void AppraiserCompanyRepositoryTest_Add()
		{
			//arrage
			AppraisalCompanyDetail dbCompany = new AppraisalCompanyDetail();
			dbCompany.CompanyName = "Test";
			dbCompany.Status = AppraisalCompanyStatus.Applied;
			dbCompany.CompanyId = "ABCDEF";
			//act
			_repository.Add(dbCompany);
			SaveChanges();
			//assert
			_repository.Get().Should().NotBeEmpty();
			_repository.Get().Single(e => e.Id == dbCompany.Id).Id.Should().Be(dbCompany.Id);
			_repository.Get().Single(e => e.Id == dbCompany.Id).Status.Should().Be(AppraisalCompanyStatus.Applied);
			_repository.Get().Single(e => e.Id == dbCompany.Id).CompanyName.Should().Be("Test");
			_repository.Get().Single(e => e.Id == dbCompany.Id).CompanyId.Should().Be("ABCDEF");
		}
		public void AppraisalCompanyManager_GetAppraisalCompanyById_Should_return_entity()
		{
			//Arrange
			var expected = new AppraisalCompanyDetail()
			{
				CompanyName = "Test Name",
				Id = 1,
				Status = AppraisalCompanyStatus.Applied,
				CompanyId = "ABCDEF"
			};
			AppraisalCompanyRepository.GetById(1).Returns(expected);
			//Act		
			var actual = Target.GetAppraisalCompanyById(1);
			//Assert
			actual.CompanyName.Should().Be(expected.CompanyName);
			actual.Id.Should().Be(expected.Id);
			actual.Status.Should().Be(expected.Status);
			actual.CompanyId.Should().Be(expected.CompanyId);
		}
		public void UpdateAppraisalCompanyName_should_populate_correspondent_field()
		{
			string companyName = "companyName";
			AppraisalCompanyDetail dbCompanyDetails = new AppraisalCompanyDetail();
			AppraisalCompanyManagement.GetAppraisalCompanyById(Arg.Any<int>()).Returns(dbCompanyDetails);
			Target.UpdateAppraisalCompanyName(0, companyName);

			//act
			dbCompanyDetails.CompanyName.Should().Be(companyName);
		}
		public void SaveAppraisalCompanySoftware_should_populate_other_as_empty_if_IsOther_is_false()
		{
			var appraisalCompanySoftware = new AppraisalCompanySoftwareViewModel()
			{
				IsOtherSpecified = false,
				Other = "sometext"
			};

			AppraisalCompanyDetail dbCompanyDetails = new AppraisalCompanyDetail();
			AppraisalCompanyManagement.GetAppraisalCompanyById(Arg.Any<int>()).Returns(dbCompanyDetails);
			Target.SaveAppraisalCompanySoftware(0, appraisalCompanySoftware);

			//act
			dbCompanyDetails.Software.Other.Should().BeBlank();
		}
		public void GetAppraisalCompanySoftware_should_populate_other_as_empty_if_IsOther_is_false()
		{
			AppraisalCompanyDetail dbCompanyDetails = new AppraisalCompanyDetail();
			dbCompanyDetails.Software = new AppraisalCompanySoftware()
			{
				IsOtherSpecified = false,
				Other = "sometext"
			};

			AppraisalCompanyManagement.GetAppraisalCompanyById(Arg.Any<int>()).Returns(dbCompanyDetails);
			//act
			var actual = Target.GetAppraisalCompanySoftware(0);
			actual.Should().NotBeNull();
			actual.Other.Should().BeBlank();
		}
		public void AppraiserCompanyRepositoryTest_IsAppraisalCompanyExistsOneParam()
		{
			//arrange
			AppraisalCompanyDetail dbCompany = new AppraisalCompanyDetail();
			dbCompany.CompanyName = "Test";
			dbCompany.Status = AppraisalCompanyStatus.Applied;
			dbCompany.CompanyId = "ABCDEF";
			_repository.Add(dbCompany);
			SaveChanges();
			//act
			var expected = _repository.IsAppraisalCompanyExists("ABCDEF");
			//assert
			expected.Should().BeTrue();
		}
Exemple #15
0
		private void ChangeStatusOfBranches(AppraisalCompanyDetail companyDetail, AppraisalCompanyStatus newStatus, AppraisalCompanyStatus oldStatus)
		{
			var historyMapper = new CompanyStatusHistoryMapper();

			foreach (var branche in companyDetail.Branches)
			{
				if (branche.Status == AppraisalCompanyStatus.Inactive && newStatus == AppraisalCompanyStatus.Suspended)
				{
					continue;
				}

				var brancheNewStatus = newStatus;
				if (newStatus == AppraisalCompanyStatus.Active)
				{
					var historyForCompany = _trackingRepository.GetAppraisalCompanyStatusHistory(companyDetail.Id).FirstOrDefault(e => e.OldValue == AppraisalCompanyStatus.Active.ToString());
					if (historyForCompany != null)
					{
						var history = _trackingRepository.GetAppraisalCompanyBranchStatusHistory(branche.Id).ToArray();
						var lastHistory = history.FirstOrDefault(e => e.ChangeEntity.ChangeSet.Date == historyForCompany.ChangeEntity.ChangeSet.Date);

						if (lastHistory == null)
						{
							lastHistory = history.FirstOrDefault(e => e.ChangeEntity.ChangeSet.Date <= historyForCompany.ChangeEntity.ChangeSet.Date);
							if (lastHistory != null)
							{
								brancheNewStatus = historyMapper.Mapp(lastHistory.NewValue);
							}
						}
						else
						{
							brancheNewStatus = historyMapper.Mapp(lastHistory.OldValue);
						}
					}
				}
				branche.Status = brancheNewStatus;
				_appraisalBrancheChangeStatusNotification.StatusChanged(branche, branche.Status, oldStatus);
			}
		}
		public void CompanyDuplicatesSearchResult_should_return_duplicates()
		{
			string name = "company";
			string state = "AL, Alabama";
			var companies = new AppraisalCompanyDetail[] 
			{ 
				new AppraisalCompanyDetail(){CompanyName = name, Status = AppraisalCompanyStatus.Active}, 
				new AppraisalCompanyDetail(){CompanyName = name, Status = AppraisalCompanyStatus.Active}
			};

      var pagedSet = new PagedList<AppraisalCompanyDetail>(companies, 1, 10);
      AppraisalCompanyManagement.GetAppraisalCompaniesListByFilter(Arg.Any<AppraisalCompanyFilter>()).Returns(pagedSet);
			// act
			var actual = Target.CompanyDuplicatesSearchResult(name, state);

		}
		public void AppraiserCompanyRepositoryTest_Update()
		{
			//arrange
			AppraisalCompanyDetail dbCompany = new AppraisalCompanyDetail();
			dbCompany.CompanyName = "Test";
			dbCompany.Status = AppraisalCompanyStatus.Applied;
			dbCompany.CompanyId = "ABCDEF";
			_repository.Add(dbCompany);
			SaveChanges();

			var dbData = _repository.GetById(dbCompany.Id);
			_repository.State(dbData).Should().Be(EntityState.Unchanged);
			dbData.CompanyName = "New Test";
			dbData.CompanyId = "AAABBB";
			dbData.Status = AppraisalCompanyStatus.Active;
			_repository.State(dbData).Should().Be(EntityState.Modified);
			_repository.Update(dbData);
			SaveChanges();
			_repository.State(dbData).Should().Be(EntityState.Unchanged);

			var updatedData = _repository.GetById(dbCompany.Id);
			updatedData.CompanyId.Should().Be("AAABBB");
			updatedData.CompanyName.Should().Be("New Test");
			updatedData.Status.Should().Be(AppraisalCompanyStatus.Active);
		}
Exemple #18
0
		public void GetAppraiserCompanyInfo_should_return_AppraiserUserCompanyInfoViewModel()
		{
			string email = "*****@*****.**";
			int branchId = 1;
			var branch = new AppraisalCompanyBranch()
			{
				Id = branchId,
				Name = "branch 1",
				Status = AppraisalCompanyStatus.Active
			};
			var company = new AppraisalCompanyDetail()
			{
				Id = 1,
				CompanyName = "company",
				Branches = new List<AppraisalCompanyBranch>(new AppraisalCompanyBranch[] { branch }),
				Contact = new AppraisalCompanyContact() { PhysicalAddress = new Address() { City = "Minsk" } }
			};
			var user = new User()
			{
				Email = email,
				Roles = new List<Role>(new Role[] { Singletones.ReferenceManager.GetRole(RoleType.AppraisalCompanyAdmin) })
			};
			var appraiser = new AppraiserUser()
			{
				Id = 1,
				User = user,
				Branch = branch,
				Company = company,
			};

			UsersManager.GetById(Arg.Any<int>()).Returns(user);
			UsersManager.GetByEmail(Arg.Any<string>()).Returns(user);
			AppraiserManager.GetById(Arg.Any<int>()).Returns(appraiser);
			AppraiserManager.GetByEmail(Arg.Any<string>()).Returns(appraiser);
			AppraiserAccessManager.IsOtherUserDataAvailable(Arg.Any<int?>()).Returns(true);

			// act
			var actual = Target.GetAppraiserCompanyInfo(email, null, branchId);
			actual.Should().NotBeNull().And.BeOfType<AppraiserUserCompanyInfoViewModel>();
			actual.CompanyID.Should().Be(company.Id);
			actual.BranchID.Should().Be(branch.Id);
		}
Exemple #19
0
		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>();
		}
Exemple #20
0
		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 AppraiserCompanyRepositoryTest_Delete()
		{
			//arrange
			AppraisalCompanyDetail dbCompany = new AppraisalCompanyDetail();
			dbCompany.CompanyName = "Test";
			dbCompany.Status = AppraisalCompanyStatus.Applied;
			dbCompany.CompanyId = "ABCDEF";
			_repository.Add(dbCompany);
			SaveChanges();
			var id = dbCompany.Id;
			//act
			_repository.Delete(id);
			SaveChanges();
			//assert			
			_repository.GetById(id).Should().BeNull();
		}
		public void GetAppraisalCompanyBanking_should_populate_fields_correctly()
		{
			AppraisalCompanyDetail dbCompanyDetails = new AppraisalCompanyDetail() { TIN = "tin" };
			dbCompanyDetails.BankingDetails = new AppraisalCompanyBanking()
			{
				AccountNumber = "accno",
				AccountType = Model.Enums.AccountType.Checking,
				BankAccount = "acc",
				BankingInstitution = "inst",
				RoutingNumber = "rno",
				BankAddress = new Model.Entities.Address()
				{
					City = "city",
					State = "AL",
					Street = "street",
					Street2 = "street2",
					ZIP = "zip"
				}
			};

			CryptographicProvider.DecryptString(dbCompanyDetails.BankingDetails.AccountNumber).Returns(new CryptographicResult<string>(true, dbCompanyDetails.BankingDetails.AccountNumber));
			CryptographicProvider.DecryptString(dbCompanyDetails.BankingDetails.BankAccount).Returns(new CryptographicResult<string>(true, dbCompanyDetails.BankingDetails.BankAccount));
			CryptographicProvider.DecryptString(dbCompanyDetails.BankingDetails.BankingInstitution).Returns(new CryptographicResult<string>(true, dbCompanyDetails.BankingDetails.BankingInstitution));
			CryptographicProvider.DecryptString(dbCompanyDetails.BankingDetails.RoutingNumber).Returns(new CryptographicResult<string>(true, dbCompanyDetails.BankingDetails.RoutingNumber));
			CryptographicProvider.DecryptString(dbCompanyDetails.TIN).Returns(new CryptographicResult<string>(true, dbCompanyDetails.TIN));

			AppraisalCompanyManagement.GetAppraisalCompanyById(Arg.Any<int>()).Returns(dbCompanyDetails);
			//act
			var actual = Target.GetAppraisalCompanyBanking(0);
			actual.Should().NotBeNull();
			actual.AccountNumber.Should().Be(dbCompanyDetails.BankingDetails.AccountNumber);
			actual.AccountType.Should().Be(dbCompanyDetails.BankingDetails.AccountType);
			actual.BankAccount.Should().Be(dbCompanyDetails.BankingDetails.BankAccount);
			actual.BankingInstitution.Should().Be(dbCompanyDetails.BankingDetails.BankingInstitution);
			actual.RoutingNumber.Should().Be(dbCompanyDetails.BankingDetails.RoutingNumber);
			actual.BankAddress.City.Should().Be(dbCompanyDetails.BankingDetails.BankAddress.City);
			actual.BankAddress.State.Should().Contain(dbCompanyDetails.BankingDetails.BankAddress.State);
			actual.BankAddress.Street.Should().Be(dbCompanyDetails.BankingDetails.BankAddress.Street);
			actual.BankAddress.Street2.Should().Be(dbCompanyDetails.BankingDetails.BankAddress.Street2);
			actual.BankAddress.ZIP.Should().Be(dbCompanyDetails.BankingDetails.BankAddress.ZIP);
		}
		public void SaveAppraisalCompanyBanking_should_populate_fields_correctly()
		{
			var appraisalCompanyBanking = new AppraisalCompanyBankingViewModel()
			{
				AccountNumber = "accno",
				AccountType = Model.Enums.AccountType.Checking,
				BankAccount = "acc",
				BankAddress = new DVS.Logic.ViewModels.AddressViewModel()
				{
					City = "city",
					State = "AL",
					Street = "street",
					Street2 = "street2",
					ZIP = "zip"
				},
				BankingInstitution = "inst",
				RoutingNumber = "rno"
			};

			CryptographicProvider.EncryptString(appraisalCompanyBanking.AccountNumber).Returns(new CryptographicResult<string>(true, appraisalCompanyBanking.AccountNumber));
			CryptographicProvider.EncryptString(appraisalCompanyBanking.BankAccount).Returns(new CryptographicResult<string>(true, appraisalCompanyBanking.BankAccount));
			CryptographicProvider.EncryptString(appraisalCompanyBanking.BankingInstitution).Returns(new CryptographicResult<string>(true, appraisalCompanyBanking.BankingInstitution));
			CryptographicProvider.EncryptString(appraisalCompanyBanking.RoutingNumber).Returns(new CryptographicResult<string>(true, appraisalCompanyBanking.RoutingNumber));

			AppraisalCompanyDetail dbCompanyDetails = new AppraisalCompanyDetail() { Status = AppraisalCompanyStatus.Active };
			AppraisalCompanyManagement.GetAppraisalCompanyById(Arg.Any<int>()).Returns(dbCompanyDetails);
			//act
			Target.SaveAppraisalCompanyBanking(0, appraisalCompanyBanking);

			dbCompanyDetails.BankingDetails.Should().NotBeNull();
			dbCompanyDetails.BankingDetails.AccountNumber.Should().Be(appraisalCompanyBanking.AccountNumber);
			dbCompanyDetails.BankingDetails.AccountType.Should().Be(appraisalCompanyBanking.AccountType);
			dbCompanyDetails.BankingDetails.BankAccount.Should().Be(appraisalCompanyBanking.BankAccount);
			dbCompanyDetails.BankingDetails.BankingInstitution.Should().Be(appraisalCompanyBanking.BankingInstitution);
			dbCompanyDetails.BankingDetails.RoutingNumber.Should().Be(appraisalCompanyBanking.RoutingNumber);
			dbCompanyDetails.BankingDetails.BankAddress.City.Should().Be(appraisalCompanyBanking.BankAddress.City);
			dbCompanyDetails.BankingDetails.BankAddress.Street.Should().Be(appraisalCompanyBanking.BankAddress.Street);
			dbCompanyDetails.BankingDetails.BankAddress.Street2.Should().Be(appraisalCompanyBanking.BankAddress.Street2);
			dbCompanyDetails.BankingDetails.BankAddress.ZIP.Should().Be(appraisalCompanyBanking.BankAddress.ZIP);
			appraisalCompanyBanking.BankAddress.State.Should().Contain(dbCompanyDetails.BankingDetails.BankAddress.State);
		}
Exemple #24
0
		private void ChangeStatusOfAdminUsers(AppraisalCompanyDetail companyDetail, AppraisalCompanyStatus newStatus, AppraisalCompanyStatus oldStatus)
		{
			if (oldStatus == AppraisalCompanyStatus.Applied)
			{
				var companyStatusMapper = new CompanyUserMapper();
				var rolesOfAdmin = new[] { RoleType.AppraisalCompanyAdmin, RoleType.CompanyAdminAndAppraiser };
				foreach (var appraiserUser in _appraiserManagement.GetUsersForCompany(companyDetail.Id))
				{
					if (appraiserUser.User.Roles.Any(e => rolesOfAdmin.Contains(e.RoleType)))
					{
                        if (appraiserUser.Status == AppraiserUserStatus.Applied && newStatus == AppraisalCompanyStatus.Active)
							appraiserUser.Status = companyStatusMapper.ToUserStatus(newStatus);
					}
				}
			}
		}
Exemple #25
0
		public void GetAppraiserCompanyInfo_should_throw_exception_if_illegal_branch_id_passed()
		{
			string email = "*****@*****.**";
			int branchId = 1;
			var branch = new AppraisalCompanyBranch()
			{
				Id = branchId,
				Name = "branch 1"
			};
			var company = new AppraisalCompanyDetail()
			{
				Id = 1,
				CompanyName = "company",
				Branches = new List<AppraisalCompanyBranch>(new AppraisalCompanyBranch[] { branch }),
				Contact = new AppraisalCompanyContact() { PhysicalAddress = new Address() { City = "Minsk" } }
			};
			var user = new User()
			{
				Email = email,
				Roles = new List<Role>(new Role[] { Singletones.ReferenceManager.GetRole(RoleType.AppraisalCompanyAdmin) })
			};
			var appraiser = new AppraiserUser()
			{
				Id = 1,
				User = user,
				Branch = branch,
				Company = company,
			};

			AppraiserManager.GetByEmail(Arg.Any<string>()).Returns(appraiser);
			AppraiserManager.GetById(Arg.Any<int>()).Returns(appraiser);
			AppraiserAccessManager.IsOtherUserDataAvailable(Arg.Any<int?>()).Returns(true);

			// act
			Target.Invoking(a => a.GetAppraiserCompanyInfo(email, null, branchId + 1)).ShouldThrow<ArgumentException>();
		}
Exemple #26
0
		private void ChangeStatusOfAppraiserUsers(AppraisalCompanyDetail companyDetail, AppraisalCompanyStatus newStatus, AppraisalCompanyStatus oldStatus)
		{
			if (oldStatus == AppraisalCompanyStatus.Applied && newStatus == AppraisalCompanyStatus.Active)
				return;

			var userMapper = new CompanyUserMapper();
			var historyMapper = new CompanyStatusHistoryMapper();

			foreach (var appraiserUser in _appraiserManagement.GetUsersForCompany(companyDetail.Id))
			{
				if (appraiserUser.User.Roles.Any(e => e.RoleType != RoleType.Appraiser) || appraiserUser.Status == AppraiserUserStatus.Applied)
					continue;
				if (newStatus == AppraisalCompanyStatus.Suspended && appraiserUser.Status == AppraiserUserStatus.Inactive)
					continue;
                if ((newStatus == AppraisalCompanyStatus.Inactive || newStatus == AppraisalCompanyStatus.Suspended) && (appraiserUser.Status == AppraiserUserStatus.Applied))
                    continue;

				var appraiserUserStatus = userMapper.ToUserStatus(newStatus);
                
				if (newStatus == AppraisalCompanyStatus.Active)
				{
					var historyForCompany = _trackingRepository.GetAppraisalCompanyStatusHistory(companyDetail.Id).FirstOrDefault(e => e.OldValue == AppraisalCompanyStatus.Active.ToString());
					if (historyForCompany != null)
					{
						var history = _trackingRepository.GetAppraiserStatusHistory(appraiserUser.User.Id).ToArray();
						var lastHistory = history.FirstOrDefault(e => e.ChangeEntity.ChangeSet.Date == historyForCompany.ChangeEntity.ChangeSet.Date);

						if (lastHistory == null)
						{
							lastHistory = history.FirstOrDefault(e => e.ChangeEntity.ChangeSet.Date <= historyForCompany.ChangeEntity.ChangeSet.Date);
							if (lastHistory != null)
							{
								appraiserUserStatus = userMapper.ToUserStatus(historyMapper.Mapp(lastHistory.NewValue));
							}
						}
						else
						{
							appraiserUserStatus = userMapper.ToUserStatus(historyMapper.Mapp(lastHistory.OldValue));
						}
					}
				}

				appraiserUser.Status = appraiserUserStatus;
			}
		}
		public void AppraisalCompanyManager_GetAppraisalCompanyById_Should_return_Entity()
		{
			//Arrange
			var contact = new AppraisalCompanyContact();
			contact.PhysicalAddress = new Address()
			{
				State = "NY"
			};
			var expected = new AppraisalCompanyDetail()
			{
				CompanyName = "Test Name",
				Id = 1,
				Status = AppraisalCompanyStatus.Applied,
				CompanyId = "ABCDEF",
				Contact = contact
			};
			AppraisalCompanyRepository.IsAppraisalCompanyExists(expected.CompanyName, expected.Contact.PhysicalAddress.State).Returns(true);
			//Act			
			var actual = Target.IsAppraisalCompanyExists(expected.CompanyName, expected.Contact.PhysicalAddress.State);
			//Assert
			actual.Should().BeTrue();
		}
Exemple #28
0
		public void StatusChanged(AppraisalCompanyDetail companyDetail, AppraisalCompanyStatus newStatus,
															AppraisalCompanyStatus oldStatus)
		{
			ChangeStatusOfAdminUsers(companyDetail, newStatus, oldStatus);
			ChangeStatusOfAppraiserUsers(companyDetail, newStatus, oldStatus);//NOTE: order of call this two function is very important, you should'n change this order
			ChangeStatusOfBranches(companyDetail, newStatus, oldStatus);//NOTE: order of call this two function is very important, you should'n change this order
		}