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); }
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(); }
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); }
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); }
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 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); }
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); } } } }
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>(); }
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(); }
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 }