Files
2026-03-13 12:58:13 -05:00

159 lines
6.0 KiB
C#

using LCU.API.Internal.CoreSoapApiWrapper.Controllers;
using LCU.API.Internal.CoreSoapApiWrapper.CoreSoapUtilities;
using LCU.API.Internal.CoreSoapApiWrapper.Models.Requests;
using LCU.API.Internal.CoreSoapApiWrapper.Models.Responses;
using LCU.API.Internal.CoreSoapApiWrapper.Services;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using System;
using System.Web.Http.Results;
namespace LCU.API.Internal.CoreSoapApiWrapperTest.Controllers
{
[TestClass]
public class CollateralMaintenanceControllerTest
{
private CollateralMaintenanceController _controller;
private Mock<ICollateralMaintenanceService> _mockCollateralMaintenanceService;
public CollateralMaintenanceControllerTest()
{
_mockCollateralMaintenanceService = new Mock<ICollateralMaintenanceService>();
_controller = new CollateralMaintenanceController(_mockCollateralMaintenanceService.Object);
}
[TestMethod]
public void GetPropertyByPropertyNumber_OK()
{
var searchResponse = new CollateralSearchResponse()
{
WasSuccessful = true
};
_mockCollateralMaintenanceService.Setup(x => x.GetCollateralMaintenanceByPropertyNumber(15000)).Returns(searchResponse).Verifiable();
var result = _controller.Get(15000);
Assert.IsNotNull(result);
var okResult = result as OkNegotiatedContentResult<CollateralSearchResponse>;
Assert.IsNotNull(okResult);
Assert.IsTrue((bool)okResult.Content.WasSuccessful);
_mockCollateralMaintenanceService.Verify();
}
[TestMethod]
public void GetPropertyByPropertyNumber_IntIsZero_BadRequest()
{
_mockCollateralMaintenanceService.Verify(x => x.GetCollateralMaintenanceByPropertyNumber(It.IsAny<int>()),
Times.Never);
var result = _controller.Get(0);
Assert.IsNotNull(result);
var okResult = result as BadRequestErrorMessageResult;
Assert.IsNotNull(okResult);
_mockCollateralMaintenanceService.Verify(x => x.GetCollateralMaintenanceByPropertyNumber(It.IsAny<int>()), Times.Never);
}
[TestMethod]
public void GetPropertyByPropertyNumber_Exception()
{
_mockCollateralMaintenanceService.Setup(x => x.GetCollateralMaintenanceByPropertyNumber(15000)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
var result = _controller.Get(15000);
Assert.IsNotNull(result);
var okResult = result as BadRequestErrorMessageResult;
Assert.IsNotNull(okResult);
_mockCollateralMaintenanceService.Verify();
}
[TestMethod]
public void PutCollateralMaintenanceRequest_OK()
{
var fieldRequest = new UserFieldRequest()
{
PropertyNumber = 11111,
UserFieldCode = "TEST",
Value = "TEST"
};
var maintenanceResponse = new CollateralMaintenanceResponse()
{
WasSuccessful = true
};
_mockCollateralMaintenanceService.Setup(x => x.UpdateCollateralMaintenance(fieldRequest)).Returns(new BasicResponse(maintenanceResponse)).Verifiable();
var result = _controller.PutCollateralMaintenance(fieldRequest);
Assert.IsNotNull(result);
var okResult = result as OkNegotiatedContentResult<BasicResponse>;
Assert.IsNotNull(okResult);
Assert.IsTrue((bool)okResult.Content.Success);
_mockCollateralMaintenanceService.Verify();
}
[TestMethod]
public void PutAccountMaintenanceRequest_Exception()
{
var fieldRequest = new UserFieldRequest()
{
PropertyNumber = 11111,
UserFieldCode = "TEST",
Value = "TEST"
};
_mockCollateralMaintenanceService.Setup(x => x.UpdateCollateralMaintenance(fieldRequest)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
var result = _controller.PutCollateralMaintenance(fieldRequest);
Assert.IsNotNull(result);
var okResult = result as BadRequestErrorMessageResult;
Assert.IsNotNull(okResult);
_mockCollateralMaintenanceService.Verify();
}
[TestMethod]
public void PostCollateralMaintenanceRequest_OK()
{
var fieldRequest = new UserFieldRequest()
{
PropertyNumber = 11111,
UserFieldCode = "TEST",
Value = "TEST"
};
var maintenanceResponse = new CollateralMaintenanceResponse()
{
WasSuccessful = true
};
_mockCollateralMaintenanceService.Setup(x => x.InsertCollateralMaintenance(fieldRequest)).Returns(new BasicResponse(maintenanceResponse)).Verifiable();
var result = _controller.PostCollateralMaintenance(fieldRequest);
Assert.IsNotNull(result);
var okResult = result as OkNegotiatedContentResult<BasicResponse>;
Assert.IsNotNull(okResult);
Assert.IsTrue((bool)okResult.Content.Success);
_mockCollateralMaintenanceService.Verify();
}
[TestMethod]
public void PostCollateralMaintenanceRequest_Exception()
{
var fieldRequest = new UserFieldRequest()
{
PropertyNumber = 11111,
UserFieldCode = "TEST",
Value = "TEST"
};
_mockCollateralMaintenanceService.Setup(x => x.InsertCollateralMaintenance(fieldRequest)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
var result = _controller.PostCollateralMaintenance(fieldRequest);
Assert.IsNotNull(result);
var okResult = result as BadRequestErrorMessageResult;
Assert.IsNotNull(okResult);
_mockCollateralMaintenanceService.Verify();
}
}
}