Files
monorepo/LCU.API.Internal.CoreSoapApiWrapper/LCU.API.Internal.CoreSoapApiWrapperTest/Services/CollateralMaintenanceServiceTest.cs
T
2026-03-13 12:58:13 -05:00

127 lines
4.6 KiB
C#

using LCU.API.Internal.CoreSoapApiWrapper.CoreSoapUtilities;
using LCU.API.Internal.CoreSoapApiWrapper.DataAccess;
using LCU.API.Internal.CoreSoapApiWrapper.Models.Requests;
using LCU.API.Internal.CoreSoapApiWrapper.Services;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using System;
namespace LCU.API.Internal.CoreSoapApiWrapperTest.Services
{
[TestClass]
public class CollateralMaintenanceServiceTest
{
private CollateralMaintenanceService _service;
private Mock<ICollateralMaintenanceDao> _mockCollateralDao;
public CollateralMaintenanceServiceTest()
{
_mockCollateralDao = new Mock<ICollateralMaintenanceDao>();
_service = new CollateralMaintenanceService(_mockCollateralDao.Object);
}
[TestMethod]
public void GetPropertyByPropertyNumber_OK()
{
var searchResponse = new CollateralSearchResponse
{
WasSuccessful = true
};
_mockCollateralDao.Setup(x => x.FindCollateralMaintenanceByPropertyNumber(100000)).Returns(searchResponse).Verifiable();
var result = _service.GetCollateralMaintenanceByPropertyNumber(100000);
Assert.IsNotNull(result);
Assert.IsTrue((bool)result.WasSuccessful);
_mockCollateralDao.Verify();
}
[TestMethod]
public void GetPropertyByPropertyNumber_Exception()
{
_mockCollateralDao.Setup(x => x.FindCollateralMaintenanceByPropertyNumber(100000)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
Assert.ThrowsException<Exception>(() => _service.GetCollateralMaintenanceByPropertyNumber(100000));
_mockCollateralDao.Verify();
}
[TestMethod]
public void PostCollateralMaintenanceRequest_OK()
{
var fieldDetails = new UserFieldRequest()
{
PropertyNumber = 100000,
UserFieldCode = "TEST",
Value = "TEST"
};
var maintenanceResponse = new CollateralMaintenanceResponse()
{
WasSuccessful = true
};
_mockCollateralDao.Setup(x => x.AddCollateralMaintenanceByPropertyNumber(It.IsAny<CollateralMaintenanceRequest>())).Returns(maintenanceResponse).Verifiable();
var result = _service.InsertCollateralMaintenance(fieldDetails);
Assert.IsNotNull(result);
Assert.IsTrue((bool)result.Success);
_mockCollateralDao.Verify();
}
[TestMethod]
public void PostCollateralMaintenanceRequest_Exception()
{
var fieldDetails = new UserFieldRequest()
{
PropertyNumber = 100000,
UserFieldCode = "TEST",
Value = "TEST"
};
_mockCollateralDao.Setup(x => x.AddCollateralMaintenanceByPropertyNumber(It.IsAny<CollateralMaintenanceRequest>())).Throws(new Exception("Error thrown in unit test.")).Verifiable();
Assert.ThrowsException<Exception>(() => _service.InsertCollateralMaintenance(fieldDetails));
_mockCollateralDao.Verify();
}
[TestMethod]
public void PutCollateralMaintenanceRequest_OK()
{
var fieldDetails = new UserFieldRequest()
{
PropertyNumber = 100000,
UserFieldCode = "TEST",
Value = "TEST"
};
var maintenanceResponse = new CollateralMaintenanceResponse()
{
WasSuccessful = true
};
_mockCollateralDao.Setup(x => x.UpdateCollateralMaintenanceByPropertyNumber(It.IsAny<CollateralMaintenanceRequest>())).Returns(maintenanceResponse).Verifiable();
var result = _service.UpdateCollateralMaintenance(fieldDetails);
Assert.IsNotNull(result);
Assert.IsTrue((bool)result.Success);
_mockCollateralDao.Verify();
}
[TestMethod]
public void PutCollateralMaintenanceRequest_Exception()
{
var fieldDetails = new UserFieldRequest()
{
PropertyNumber = 100000,
UserFieldCode = "TEST",
Value = "TEST"
};
_mockCollateralDao.Setup(x => x.UpdateCollateralMaintenanceByPropertyNumber(It.IsAny<CollateralMaintenanceRequest>())).Throws(new Exception("Error thrown in unit test.")).Verifiable();
Assert.ThrowsException<Exception>(() => _service.UpdateCollateralMaintenance(fieldDetails));
_mockCollateralDao.Verify();
}
}
}