244 lines
11 KiB
C#
244 lines
11 KiB
C#
using System;
|
|
using Xunit;
|
|
using CRIF.ACTion.Loan;
|
|
using Landmark.OLA.Models.Addresses;
|
|
using Landmark.OLA.Models.Addresses.Enums;
|
|
using Landmark.OLA.Models.Assets;
|
|
using Landmark.OLA.Models.Assets.Enums;
|
|
using Landmark.OLA.Models.HomeMortgageDisclosureAct;
|
|
using Landmark.OLA.Models.Individuals;
|
|
using Landmark.OLA.Models.Individuals.Enums;
|
|
using Landmark.OLA.Models.Loan;
|
|
using Landmark.OLA.Models.Loan.Enums;
|
|
using Landmark.OLA.Models.Residences;
|
|
|
|
namespace CRIF.ACTion.Tests.Loan
|
|
{
|
|
public class MfgHomeAndLandTest
|
|
{
|
|
|
|
private readonly LoanApplication _loanApplication =
|
|
new(loanDate: DateTime.Parse("2018-01-01T06:00:00.0000000Z", null, System.Globalization.DateTimeStyles.AssumeLocal), loanId: "7c0d9659-4d37-4ae7-93ce-e6c72ad6a0b5")
|
|
{
|
|
LoanType = LoanType.EQ_Mfg_Home_With_or_Without_Land,
|
|
Purpose = LoanPurpose.Purpose.Purchase,
|
|
RequestedAmount = 1000,
|
|
PrimaryContactMethod = "1234567890",
|
|
DisclosureDate = DateTime.Parse("2019-03-08T19:50:26.429Z"),
|
|
IPAddress = "111.11.1111",
|
|
ManufacturedHome = new ManufacturedHome(new Guid("7c0d9659-4d37-4ae7-93ce-e6c72ad6a0b5"))
|
|
{
|
|
CurrentlyBeingRemodeledOrImproved = false,
|
|
CurrentlyListedForSale = false,
|
|
Type = ManufacturedHomeType.Double,
|
|
Use = PropertyUse.OwnerOccupied,
|
|
Lot = new PropertyLot(new Guid("f370b54c-5999-4ebc-b1b6-078cc8571652"))
|
|
{
|
|
Address1 = "123 Main St",
|
|
City = "New Berlin",
|
|
State = StateOption.WI,
|
|
Country = CountryOption.UnitedStates,
|
|
PostalCode = "53151",
|
|
IsRented = true,
|
|
RentalAmt = 123.45m,
|
|
},
|
|
},
|
|
PrimaryBorrower = new Individual(new Guid("b0fb7c37-a203-4c06-89cb-e4e9f3ca20d4"))
|
|
{
|
|
Language = LanguageOption.English,
|
|
FirstName = "Jane",
|
|
MiddleInitial = "J",
|
|
LastName = "Doe",
|
|
DOB = new DateTime(2018, 01, 01),
|
|
SSN = "666666666",
|
|
Phone = "5555550100",
|
|
PhoneType = PhoneType.Home,
|
|
Email = "[email protected]",
|
|
IsMarried = false,
|
|
IsLandmarkEmployee = true,
|
|
Address = new CurrentResidenceAddress(new Guid("66eecd56-4877-47d9-b2b1-45d11a087322"))
|
|
{
|
|
Address1 = "123 Main St",
|
|
City = "New Berlin",
|
|
State = StateOption.WI,
|
|
Country = CountryOption.UnitedStates,
|
|
PostalCode = "53151",
|
|
MonthlyPayment = 1000m,
|
|
MonthsResided = 120,
|
|
ResidenceType = ResidenceTypeOption.Own,
|
|
},
|
|
HmdaValues = new Hmda
|
|
{
|
|
HmdaNoticeDisclosed = true,
|
|
Races =
|
|
[
|
|
Race.NotProvided,
|
|
],
|
|
Ethnicities =
|
|
[
|
|
Ethnicity.OtherHispanicLatino,
|
|
],
|
|
OtherHispanicLatinoEthnicity = "Argentinean",
|
|
Sexes =
|
|
[
|
|
Sex.Female,
|
|
Sex.Male,
|
|
],
|
|
},
|
|
Employers =
|
|
[
|
|
new Employer(employerId: new Guid("57df49cc-ff09-4660-aa47-54fdb5e08017"))
|
|
{
|
|
Language = LanguageOption.English,
|
|
Name = "Purple Widgets Inc",
|
|
CurrentEmployer = true,
|
|
EmploymentType = EmploymentTypeOption.FullTime,
|
|
MonthsEmployed = 120,
|
|
StartDate = new DateTime(2008, 01, 01),
|
|
EndDate = new DateTime(2018,01,01),
|
|
Title = "Lead Widget Painter",
|
|
Income = new Income
|
|
{
|
|
IncomeTypeCD = IncomeType.Salary,
|
|
SourceName = "Job",
|
|
AmountPerPeriod = 100m,
|
|
Frequency = Frequency.Hourly,
|
|
IncomeStatus = IncomeStatus.IncomeStatus_Included,
|
|
},
|
|
},
|
|
],
|
|
}
|
|
};
|
|
|
|
private readonly LoanApplication _loanApplicationWithAnnualTaxes =
|
|
new(loanDate: DateTime.Parse("2018-01-01T06:00:00.0000000Z", null, System.Globalization.DateTimeStyles.AssumeLocal), loanId: "7c0d9659-4d37-4ae7-93ce-e6c72ad6a0b5")
|
|
{
|
|
LoanType = LoanType.EQ_Mfg_Home_With_or_Without_Land,
|
|
Purpose = LoanPurpose.Purpose.Purchase,
|
|
RequestedAmount = 1000,
|
|
PrimaryContactMethod = "1234567890",
|
|
DisclosureDate = DateTime.Parse("2019-03-08T19:50:26.429Z"),
|
|
IPAddress = "111.11.1111",
|
|
ManufacturedHome = new ManufacturedHome(new Guid("7c0d9659-4d37-4ae7-93ce-e6c72ad6a0b5"))
|
|
{
|
|
CurrentlyBeingRemodeledOrImproved = false,
|
|
CurrentlyListedForSale = false,
|
|
Type = ManufacturedHomeType.Double,
|
|
Use = PropertyUse.OwnerOccupied,
|
|
Lot = new PropertyLot(new Guid("f370b54c-5999-4ebc-b1b6-078cc8571652"))
|
|
{
|
|
Address1 = "123 Main St",
|
|
City = "New Berlin",
|
|
State = StateOption.WI,
|
|
Country = CountryOption.UnitedStates,
|
|
PostalCode = "53151",
|
|
IsRented = false,
|
|
AnnualPropertyTax = 4500,
|
|
},
|
|
},
|
|
PrimaryBorrower = new Individual(new Guid("b0fb7c37-a203-4c06-89cb-e4e9f3ca20d4"))
|
|
{
|
|
Language = LanguageOption.English,
|
|
FirstName = "Jane",
|
|
MiddleInitial = "J",
|
|
LastName = "Doe",
|
|
DOB = new DateTime(2018, 01, 01),
|
|
SSN = "666666666",
|
|
Phone = "5555550100",
|
|
PhoneType = PhoneType.Home,
|
|
Email = "[email protected]",
|
|
IsMarried = false,
|
|
IsLandmarkEmployee = true,
|
|
Address = new CurrentResidenceAddress(new Guid("66eecd56-4877-47d9-b2b1-45d11a087322"))
|
|
{
|
|
Address1 = "123 Main St",
|
|
City = "New Berlin",
|
|
State = StateOption.WI,
|
|
Country = CountryOption.UnitedStates,
|
|
PostalCode = "53151",
|
|
MonthlyPayment = 1000m,
|
|
MonthsResided = 120,
|
|
ResidenceType = ResidenceTypeOption.Own,
|
|
},
|
|
HmdaValues = new Hmda
|
|
{
|
|
HmdaNoticeDisclosed = true,
|
|
Races =
|
|
[
|
|
Race.NotProvided,
|
|
],
|
|
Ethnicities =
|
|
[
|
|
Ethnicity.OtherHispanicLatino,
|
|
],
|
|
OtherHispanicLatinoEthnicity = "Argentinean",
|
|
Sexes =
|
|
[
|
|
Sex.Female,
|
|
Sex.Male,
|
|
],
|
|
},
|
|
Employers =
|
|
[
|
|
new Employer(employerId: new Guid("57df49cc-ff09-4660-aa47-54fdb5e08017"))
|
|
{
|
|
Language = LanguageOption.English,
|
|
Name = "Purple Widgets Inc",
|
|
CurrentEmployer = true,
|
|
EmploymentType = EmploymentTypeOption.FullTime,
|
|
MonthsEmployed = 120,
|
|
StartDate = new DateTime(2008, 01, 01),
|
|
EndDate = new DateTime(2018,01,01),
|
|
Title = "Lead Widget Painter",
|
|
Income = new Income
|
|
{
|
|
IncomeTypeCD = IncomeType.Salary,
|
|
SourceName = "Job",
|
|
AmountPerPeriod = 100m,
|
|
Frequency = Frequency.Hourly,
|
|
IncomeStatus = IncomeStatus.IncomeStatus_Included,
|
|
},
|
|
},
|
|
],
|
|
}
|
|
};
|
|
|
|
[Fact]
|
|
public void Validate()
|
|
{
|
|
var createAppElement =
|
|
new LoanApplicationRequestBuilder(_loanApplication, TestCommon.GetTestSettings()).Build();
|
|
|
|
Assert.Empty(TestCommon.Validate(createAppElement));
|
|
}
|
|
|
|
[Fact]
|
|
public void CreateApplication()
|
|
{
|
|
var createAppElement = new LoanApplicationRequestBuilder(_loanApplication, TestCommon.GetTestSettings(),
|
|
new Guid("741be6b4-9f42-4efd-871f-f5d99c0ef122"), new Guid("e814d860-14fe-4bef-be9b-21be3dce1edf"),
|
|
new Guid("3090a5a1-d493-4865-ba44-8fd390dfec44"), new TestDistributionChannelLookupService()).Build();
|
|
|
|
string comparePath = "ExampleXML" + System.IO.Path.DirectorySeparatorChar + "MfgHomeAndLand" + System.IO.Path.DirectorySeparatorChar + "CreateApp.xml";
|
|
|
|
var results = TestCommon.Compare(createAppElement, comparePath);
|
|
|
|
Assert.Empty(results);
|
|
}
|
|
|
|
[Fact]
|
|
public void CreateApplicationWithAnnualTaxes()
|
|
{
|
|
var createAppElement = new LoanApplicationRequestBuilder(_loanApplicationWithAnnualTaxes, TestCommon.GetTestSettings(),
|
|
new Guid("741be6b4-9f42-4efd-871f-f5d99c0ef122"), new Guid("e814d860-14fe-4bef-be9b-21be3dce1edf"),
|
|
new Guid("3090a5a1-d493-4865-ba44-8fd390dfec44"), new TestDistributionChannelLookupService()).Build();
|
|
|
|
string comparePath = "ExampleXML" + System.IO.Path.DirectorySeparatorChar + "MfgHomeAndLand" + System.IO.Path.DirectorySeparatorChar + "CreateAppWithAnnualTaxes.xml";
|
|
|
|
var results = TestCommon.Compare(createAppElement, comparePath);
|
|
|
|
Assert.Empty(results);
|
|
}
|
|
}
|
|
}
|