Files
monorepo/LCU.API.Internal.OnlineLoanApp/Landmark.OLA.Integration.Tests/DecisionControllerTest.cs
T
2026-03-11 11:18:25 -05:00

57 lines
2.2 KiB
C#

using System.Threading.Tasks;
using Moq;
using Newtonsoft.Json;
using Xunit;
using CRIF.ACTion.Services.Crif;
using Landmark.OLA.Models.Decisioning;
using Landmark.OLA.Models.Decisioning.Enums;
namespace Landmark.OLA.Integration.Tests
{
public class DecisionControllerTest : OlaIntegrationTest
{
public DecisionControllerTest() : base()
{
var decisionResult = new DecisioningDetails()
{
DecisioningState = DecisioningState.Ready,
DecisioningResult = DecisioningResult.AcceptanceStatus_Provisional
};
mockVendorClient.Setup(repo => repo.GetDecisionStatus("555")).Throws(new Error13Exception("Test Failure"));
mockVendorClient.Setup(repo => repo.GetDecisionStatus("444")).ReturnsAsync(decisionResult);
}
[Fact]
public async Task GetDecisionSpecialError13()
{
// The endpoint or route of the controller action.
var httpResponse = await _client.GetAsync("/api/LoanApplication/555/DecisioningDetails");
// Must be successful.
httpResponse.EnsureSuccessStatusCode();
// Deserialize and examine results.
var stringResponse = await httpResponse.Content.ReadAsStringAsync();
var status = JsonConvert.DeserializeObject<DecisioningDetails>(stringResponse);
Assert.Equal(DecisioningState.Unknown, status.DecisioningState);
Assert.Equal(DecisioningResult.ProcessStatus_Incomplete, status.DecisioningResult);
}
[Fact]
public async Task GetDecisionSuccess()
{
// The endpoint or route of the controller action.
var httpResponse = await _client.GetAsync("/api/LoanApplication/444/DecisioningDetails");
// Must be successful.
httpResponse.EnsureSuccessStatusCode();
// Deserialize and examine results.
var stringResponse = await httpResponse.Content.ReadAsStringAsync();
var status = JsonConvert.DeserializeObject<DecisioningDetails>(stringResponse);
Assert.Equal(DecisioningState.Ready, status.DecisioningState);
}
}
}