first commit

This commit is contained in:
Zeeshaun
2026-03-11 11:18:25 -05:00
commit f3cb730f3b
472 changed files with 53651 additions and 0 deletions
@@ -0,0 +1,33 @@
using Xunit;
using CRIF.ACTion.Decisioning;
namespace CRIF.ACTion.Tests.Decisioning
{
public class DecisionStatusBuilderTest
{
private const string LoanApplicationId = "1200398";
private const string AppDetailId = "3380";
[Fact]
public void Validate()
{
var createAppElement =
new DecisionStatusBuilder(LoanApplicationId, AppDetailId, TestCommon.GetTestSettings()).Build();
Assert.Empty(TestCommon.Validate(createAppElement));
}
[Fact]
public void GetDecisionStatus()
{
var createAppElement =
new DecisionStatusBuilder(LoanApplicationId, AppDetailId, TestCommon.GetTestSettings()).Build();
string comparePath = "ExampleXML" + System.IO.Path.DirectorySeparatorChar + "GetDecisionStatus" + System.IO.Path.DirectorySeparatorChar + "GetDecisionStatus.xml";
var results = TestCommon.Compare(createAppElement, comparePath);
Assert.Empty(results);
}
}
}
@@ -0,0 +1,28 @@
using System.Xml.Linq;
using Xunit;
using CRIF.ACTion.Decisioning;
using Landmark.OLA.Models.Decisioning.Enums;
namespace CRIF.ACTion.Tests.Decisioning
{
public class DecisioningStateResponseParserTest
{
private readonly string LoanApplicationId = "1200400";
[Fact]
public void SendToDecisioningResponse()
{
string successResponsePath = "ExampleXML" + System.IO.Path.DirectorySeparatorChar + "SendToDecisioningParser" + System.IO.Path.DirectorySeparatorChar + "SuccessResponse.xml";
var successResponse = (XElement)XDocument.Load(successResponsePath).FirstNode;
var parser = new DecisioningStateResponseParser();
parser.SetLoanId(LoanApplicationId);
var result = parser.Parse(successResponse);
Assert.Equal(DecisioningState.Requested, result);
}
}
}
@@ -0,0 +1,32 @@
using Xunit;
using CRIF.ACTion.Decisioning;
namespace CRIF.ACTion.Tests.Decisioning
{
public class GetApplicationProductsRequestBuilderTest
{
private const string LoanApplicationId = "1200217";
[Fact]
public void Validate()
{
var getApplicationProductsElement =
new GetApplicationProductsRequestBuilder(LoanApplicationId, TestCommon.GetTestSettings()).Build();
Assert.Empty(TestCommon.Validate(getApplicationProductsElement));
}
[Fact]
public void GetDecisionStatus()
{
var getApplicationProductsElement =
new GetApplicationProductsRequestBuilder(LoanApplicationId, TestCommon.GetTestSettings()).Build();
string comparePath = "ExampleXML" + System.IO.Path.DirectorySeparatorChar + "GetApplicationProducts" + System.IO.Path.DirectorySeparatorChar + "GetApplicationProducts.xml";
var results = TestCommon.Compare(getApplicationProductsElement, comparePath);
Assert.Empty(results);
}
}
}
@@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
using System.Xml.Linq;
using Xunit;
using CRIF.ACTion.Decisioning;
using Landmark.OLA.Models.Decisioning;
using Landmark.OLA.Models.Decisioning.Enums;
namespace CRIF.ACTion.Tests.Decisioning
{
public class GetApplicationProductsResponseParserTest
{
private const string LoanApplicationId = "1200217";
[Fact]
public void DecisionStatus_Review()
{
GetDecisionStatusParserResponse("CashBackCC_Under-Review.xml",
new DecisioningDetails([85,])
{
DecisioningState = DecisioningState.Ready,
DecisioningResult = DecisioningResult.DecisionStatus_Review,
});
}
[Fact]
public void InvalidApplication()
{
/*
This situation would likely not occur with our use cases, but if an application has more than one
AppDetail section, the client will need to ask for a specific result.
*/
Assert.Throws<ArgumentException>(() =>
GetDecisionStatusParserResponse("Multiple-AppDetails.xml", null));
}
[Fact]
public void InvalidApplicationIdInResponse()
{
Assert.Throws<InvalidOperationException>(() =>
GetDecisionStatusParserResponse("InvalidApplicationId.xml", null));
}
private static void GetDecisionStatusParserResponse(string fileName, DecisioningDetails expectedResult)
{
string successResponsePath = "ExampleXML" + System.IO.Path.DirectorySeparatorChar + "GetApplicationsProductsParser" + System.IO.Path.DirectorySeparatorChar + fileName;
var decisionResponse = (XElement)XDocument.Load(successResponsePath).FirstNode;
var parser = new GetApplicationProductsResponseParser();
parser.SetLoanId(LoanApplicationId);
var result = parser.Parse(decisionResponse);
Assert.Equal(expectedResult, result);
}
}
}
@@ -0,0 +1,32 @@
using Xunit;
using CRIF.ACTion.Decisioning;
namespace CRIF.ACTion.Tests.Decisioning
{
public class SendToDecisioningRequestBuilderTest
{
private readonly string LoanApplicationId = "1200400";
[Fact]
public void Validate()
{
var createAppElement =
new SendToDecisioningRequestBuilder(LoanApplicationId, TestCommon.GetTestSettings()).Build();
Assert.Empty(TestCommon.Validate(createAppElement));
}
[Fact]
public void SendToDecisioning()
{
var createAppElement =
new SendToDecisioningRequestBuilder(LoanApplicationId, TestCommon.GetTestSettings()).Build();
string comparePath = "ExampleXML" + System.IO.Path.DirectorySeparatorChar + "SendToDecisioning" + System.IO.Path.DirectorySeparatorChar + "sendToDecisioning.xml";
var results = TestCommon.Compare(createAppElement, comparePath);
Assert.Empty(results);
}
}
}