91 lines
3.4 KiB
C#
91 lines
3.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using Moq;
|
|
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;
|
|
|
|
namespace LCU.API.Internal.CoreSoapApiWrapperTest.Services
|
|
{
|
|
[TestClass]
|
|
public class PersonAgreementServiceTest
|
|
{
|
|
private PersonAgreementService _service;
|
|
private Mock<IPersonAgreementDao> _mockPersonAgreementDao;
|
|
|
|
public PersonAgreementServiceTest()
|
|
{
|
|
_mockPersonAgreementDao = new Mock<IPersonAgreementDao>();
|
|
_service = new PersonAgreementService(_mockPersonAgreementDao.Object);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void UpdatePersonAgreementsDetailTypes_OK()
|
|
{
|
|
var response = new PersonAgreementMaintenanceResponse()
|
|
{
|
|
WasSuccessful = true
|
|
};
|
|
|
|
_mockPersonAgreementDao.Setup(x => x.SendPersonAgreementMaintenanceRequest(It.IsAny<PersonAgreementMaintenanceRequest>()))
|
|
.Returns(response).Verifiable();
|
|
|
|
var request = new PersonAgreementDetailTypeRequest()
|
|
{
|
|
PersonNumber = 1,
|
|
AgreeNumber = 2,
|
|
DetailTypes = new List<DetailType>()
|
|
{
|
|
new DetailType()
|
|
{
|
|
DetailTypeCode = "Stat",
|
|
DetailValue = "CLOS"
|
|
}
|
|
}
|
|
};
|
|
var result = _service.UpdatePersonAgreementsDetailTypes(request);
|
|
Assert.IsNotNull(result);
|
|
Assert.IsTrue((bool)result.Success);
|
|
_mockPersonAgreementDao.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void UpdatePersonAgreementsDetailTypes_Exception()
|
|
{
|
|
_mockPersonAgreementDao.Setup(x => x.SendPersonAgreementMaintenanceRequest(It.IsAny<PersonAgreementMaintenanceRequest>()))
|
|
.Throws(new Exception("Error thrown in unit test.")).Verifiable();
|
|
|
|
var request = new PersonAgreementDetailTypeRequest()
|
|
{
|
|
PersonNumber = 1,
|
|
AgreeNumber = 2,
|
|
DetailTypes = new List<DetailType>()
|
|
{
|
|
new DetailType()
|
|
{
|
|
DetailTypeCode = "Stat",
|
|
DetailValue = "CLOS"
|
|
}
|
|
}
|
|
};
|
|
Assert.ThrowsException<Exception>(() => _service.UpdatePersonAgreementsDetailTypes(request));
|
|
_mockPersonAgreementDao.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void UpdatePersonAgreementsDetailTypes_DetailTypes_Null_Exception()
|
|
{
|
|
var request = new PersonAgreementDetailTypeRequest()
|
|
{
|
|
PersonNumber = 1,
|
|
AgreeNumber = 2,
|
|
DetailTypes = null
|
|
};
|
|
Assert.ThrowsException<ArgumentNullException>(() => _service.UpdatePersonAgreementsDetailTypes(request));
|
|
_mockPersonAgreementDao.Verify(x => x.SendPersonAgreementMaintenanceRequest(
|
|
It.IsAny<PersonAgreementMaintenanceRequest>()), Times.Never);
|
|
}
|
|
}
|
|
} |