Files
2026-03-13 09:28:55 -05:00

736 lines
31 KiB
C#

using System;
using System.Linq;
using Moq;
using NUnit.Framework;
using System.Collections.Generic;
using System.Threading.Tasks;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.AccessChannelPersons;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreRequests;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.MemberAgreements;
using LCU.Library.Internal.DataCleanUpModel.Enum;
using LCU.Library.Internal.DataCleanUpModel.Models;
using LCU.Api.Internal.DataCleanUp.Services;
using LCU.Api.Internal.DataCleanUp.DataAccess;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.AccessTypes;
namespace LCU.Api.Internal.DataCleanUpTest.Services;
public class DeactivateCustodialEAgreementsServiceTest
{
private DeactivateCustodialEAgreementsService _deactivateCustodialEAgreementsService;
private Mock<ICoreApiWrapperService> _mockCoreApiWrapperService;
[SetUp]
public void Setup()
{
_mockCoreApiWrapperService = new Mock<ICoreApiWrapperService>();
_deactivateCustodialEAgreementsService = new DeactivateCustodialEAgreementsService(_mockCoreApiWrapperService.Object);
}
[Test]
public async Task CleanUp_Success()
{
//Set Up GetActiveCustodialAgreePersonNumbers
var testPersonNumbers = new List<string>()
{
"111111"
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
//Set Up GetCoreApiMessageAccessChannelPersons
var coreMessageHeader = new CoreMessageHeader()
{
UpdateKey = 12312312323123
};
var testAccessType = new AccessType()
{
Id = "WWW",
IsActive = true,
UserId = null
};
var testAccessChannelPerson = new AccessChannelPerson()
{
Id = "2313213_1",
ChannelNumber = 2313213,
PersonNumber = 1,
UserId = "2312312312",
AccessTypes = new List<AccessType>()
{
testAccessType
}
};
var testAccessChannelPersons = new List<AccessChannelPerson>()
{
testAccessChannelPerson ,
new AccessChannelPerson()
{
PersonNumber = 1,
UserId= "1C1",
AccessTypes = new List<AccessType>()
{
new AccessType()
{
Id= "VRU",
IsActive = true
}
}
}
};
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, testAccessChannelPersons);
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
//Set Up UpdateAccessChannelPersons
var testUpdatedAccessType = new AccessType()
{
Id = "WWW",
IsActive = false
};
_mockCoreApiWrapperService.Setup(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()))
.ReturnsAsync(testUpdatedAccessType);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsTrue(result.Successful);
Assert.IsEmpty(result.ResponseStack);
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Once);
}
[Test]
public async Task CleanUp_Success_NoHyphenatedUserIds()
{
//Set Up GetAgreePersonsWithHyphenatedUserIds
var testPersonNumbers = new List<string>()
{
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsTrue(result.Successful);
Assert.IsEmpty(result.ResponseStack);
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Never);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Never);
}
[Test]
public async Task CleanUp_Fail_SetUpAccessTypeUpdateRequest_PersonNumber_NotLong()
{
//Set Up GetActiveCustodialAgreePersonNumbers
var testPersonNumbers = new List<string>()
{
"111e111"
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsFalse(result.Successful);
Assert.AreEqual(1, result.ResponseStack.Count());
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Never);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Never);
}
[Test]
public async Task CleanUp_Fail_SetUpAccessTypeUpdateReques_CoreApiMessage_Null()
{
//Set Up GetActiveCustodialAgreePersonNumbers
var testPersonNumbers = new List<string>()
{
"111111"
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
//Set Up GetCoreApiMessageAccessChannelPersons
CoreApiMessage<IEnumerable<AccessChannelPerson>>? coreApiMessage = null;
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsFalse(result.Successful);
Assert.AreEqual(1, result.ResponseStack.Count());
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Never);
}
[Test]
public async Task CleanUp_Fail_SetUpAccessTypeUpdateReques_CoreApiMessage_MessageHeader_Null()
{
//Set Up GetActiveCustodialAgreePersonNumbers
var testPersonNumbers = new List<string>()
{
"111111"
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
//Set Up GetCoreApiMessageAccessChannelPersons
CoreMessageHeader? coreMessageHeader = null;
var testAccessType = new AccessType()
{
Id = "WWW",
IsActive = true
};
var testAccessChannelPerson = new AccessChannelPerson()
{
Id = "2313213_1",
ChannelNumber = 2313213,
PersonNumber = 1,
UserId = "2312312312",
AccessTypes = new List<AccessType>()
{
testAccessType
}
};
var testAccessChannelPersons = new List<AccessChannelPerson>()
{
testAccessChannelPerson ,
new AccessChannelPerson()
{
PersonNumber = 1,
UserId= "1C1",
AccessTypes = new List<AccessType>()
{
new AccessType()
{
Id= "VRU",
IsActive = true
}
}
}
};
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, testAccessChannelPersons);
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsFalse(result.Successful);
Assert.AreEqual(1, result.ResponseStack.Count());
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Never);
}
[Test]
public async Task CleanUp_Fail_SetUpAccessTypeUpdateReques_CoreApiMessage_MessageHeader_UpdateKey_Null()
{
//Set Up GetActiveCustodialAgreePersonNumbers
var testPersonNumbers = new List<string>()
{
"111111"
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
//Set Up GetCoreApiMessageAccessChannelPersons
var coreMessageHeader = new CoreMessageHeader()
{
UpdateKey = null
};
var testAccessType = new AccessType()
{
Id = "WWW",
IsActive = true
};
var testAccessChannelPerson = new AccessChannelPerson()
{
Id = "2313213_1",
ChannelNumber = 2313213,
PersonNumber = 1,
UserId = "2312312312",
AccessTypes = new List<AccessType>()
{
testAccessType
}
};
var testAccessChannelPersons = new List<AccessChannelPerson>()
{
testAccessChannelPerson ,
new AccessChannelPerson()
{
PersonNumber = 1,
UserId= "1C1",
AccessTypes = new List<AccessType>()
{
new AccessType()
{
Id= "VRU",
IsActive = true
}
}
}
};
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, testAccessChannelPersons);
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsFalse(result.Successful);
Assert.AreEqual(1, result.ResponseStack.Count());
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Never);
}
[Test]
public async Task CleanUp_Fail_SetUpAccessTypeUpdateReques_CoreApiMessage_MessageBody_Null()
{
//Set Up GetActiveCustodialAgreePersonNumbers
var testPersonNumbers = new List<string>()
{
"111111"
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
//Set Up GetCoreApiMessageAccessChannelPersons
var coreMessageHeader = new CoreMessageHeader()
{
UpdateKey = 12312312323123
};
List<AccessChannelPerson>? testAccessChannelPersons = null;
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, testAccessChannelPersons);
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsFalse(result.Successful);
Assert.AreEqual(1, result.ResponseStack.Count());
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Never);
}
[Test]
public async Task CleanUp_Fail_SetUpAccessTypeUpdateReques_AccessChannelPersonsToUpdate_Null()
{
//Set Up GetActiveCustodialAgreePersonNumbers
var testPersonNumbers = new List<string>()
{
"111111"
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
//Set Up GetCoreApiMessageAccessChannelPersons
var coreMessageHeader = new CoreMessageHeader()
{
UpdateKey = 12312312323123
};
var testAccessType = new AccessType()
{
Id = "TTT",
IsActive = true
};
var testAccessChannelPerson = new AccessChannelPerson()
{
Id = "2313213_1",
ChannelNumber = 2313213,
PersonNumber = 1,
UserId = "2312312312",
AccessTypes = new List<AccessType>()
{
testAccessType
}
};
var testAccessChannelPersons = new List<AccessChannelPerson>()
{
testAccessChannelPerson ,
new AccessChannelPerson()
{
PersonNumber = 1,
UserId= "1C1",
AccessTypes = new List<AccessType>()
{
new AccessType()
{
Id= "VRU",
IsActive = true
}
}
}
};
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, testAccessChannelPersons);
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsTrue(result.Successful);
Assert.AreEqual(0, result.ResponseStack.Count());
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Never);
}
[Test]
public async Task CleanUp_Fail_SetUpAccessTypeUpdateReques_UpdatedAccessType_Null()
{
//Set Up GetActiveCustodialAgreePersonNumbers
var testPersonNumbers = new List<string>()
{
"111111"
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
//Set Up GetCoreApiMessageAccessChannelPersons
var coreMessageHeader = new CoreMessageHeader()
{
UpdateKey = 12312312323123
};
var testAccessType = new AccessType()
{
Id = "WWW",
IsActive = true,
UserId = null
};
var testAccessChannelPerson = new AccessChannelPerson()
{
Id = "2313213_1",
ChannelNumber = 2313213,
PersonNumber = 1,
UserId = "2312312312",
AccessTypes = new List<AccessType>()
{
testAccessType
}
};
var testAccessChannelPersons = new List<AccessChannelPerson>()
{
testAccessChannelPerson ,
new AccessChannelPerson()
{
PersonNumber = 1,
UserId= "1C1",
AccessTypes = new List<AccessType>()
{
new AccessType()
{
Id= "VRU",
IsActive = true,
UserId = null
}
}
}
};
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, testAccessChannelPersons);
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
//Set Up UpdateAccessChannelPersons
AccessType? testUpdatedAccessType = null;
_mockCoreApiWrapperService.Setup(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()))
.ReturnsAsync(testUpdatedAccessType);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsFalse(result.Successful);
Assert.AreEqual(1, result.ResponseStack.Count());
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Once);
}
[Test]
public async Task CleanUp_Fail_SetUpAccessTypeUpdateReques_UpdatedAccessType_IsActive_True()
{
//Set Up GetActiveCustodialAgreePersonNumbers
var testPersonNumbers = new List<string>()
{
"111111"
};
_mockCoreApiWrapperService.Setup(x => x.GetActiveCustodialAgreePersonNumbers()).ReturnsAsync(testPersonNumbers);
//Set Up GetCoreApiMessageAccessChannelPersons
var coreMessageHeader = new CoreMessageHeader()
{
UpdateKey = 12312312323123
};
var testAccessType = new AccessType()
{
Id = "WWW",
IsActive = true,
UserId = null
};
var testAccessChannelPerson = new AccessChannelPerson()
{
Id = "2313213_1",
ChannelNumber = 2313213,
PersonNumber = 1,
UserId = "2312312312",
AccessTypes = new List<AccessType>()
{
testAccessType
}
};
var testAccessChannelPersons = new List<AccessChannelPerson>()
{
testAccessChannelPerson ,
new AccessChannelPerson()
{
PersonNumber = 1,
UserId= "1C1",
AccessTypes = new List<AccessType>()
{
new AccessType()
{
Id= "VRU",
IsActive = true,
UserId = null
}
}
}
};
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, testAccessChannelPersons);
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
//Set Up UpdateAccessChannelPersons
var testUpdatedAccessType = new AccessType()
{
Id = "WWW",
IsActive = true
};
_mockCoreApiWrapperService.Setup(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()))
.ReturnsAsync(testUpdatedAccessType);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var result = await _deactivateCustodialEAgreementsService.CleanUp(testRequest);
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsFalse(result.Successful);
Assert.AreEqual(1, result.ResponseStack.Count());
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Once);
}
[Test]
public async Task HandleUpdateDeactivateCustodialEAgreement_Success()
{
//Set Up GetCoreApiMessageAccessChannelPersons
var coreMessageHeader = new CoreMessageHeader()
{
UpdateKey = 12312312323123
};
var testAccessType = new AccessType()
{
Id = "WWW",
IsActive = true,
UserId = null
};
var testAccessChannelPerson = new AccessChannelPerson()
{
Id = "2313213_1",
ChannelNumber = 2313213,
PersonNumber = 1,
UserId = "2312312312",
AccessTypes = new List<AccessType>()
{
testAccessType
}
};
var testAccessChannelPersons = new List<AccessChannelPerson>()
{
testAccessChannelPerson ,
new AccessChannelPerson()
{
PersonNumber = 1,
UserId= "1C1",
AccessTypes = new List<AccessType>()
{
new AccessType()
{
Id= "VRU",
IsActive = true
}
}
}
};
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, testAccessChannelPersons);
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
//Set Up UpdateAccessChannelPersons
var testUpdatedAccessType = new AccessType()
{
Id = "WWW",
IsActive = false
};
_mockCoreApiWrapperService.Setup(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()))
.ReturnsAsync(testUpdatedAccessType);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var cleanUpResult = new DataCleanUpResult(testRequest, true, new List<string>());
var result = await _deactivateCustodialEAgreementsService.HandleUpdateDeactivateCustodialEAgreement(cleanUpResult, "111111");
Assert.NotNull(result);
Assert.AreEqual(testRequest, result.Request);
Assert.IsTrue(result.Successful);
Assert.IsEmpty(result.ResponseStack);
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Never);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Once);
}
[Test]
public async Task SetUpAccessTypeUpdateRequest_Success()
{
//Set Up GetCoreApiMessageAccessChannelPersons
var coreMessageHeader = new CoreMessageHeader()
{
UpdateKey = 12312312323123
};
var testAccessType = new AccessType()
{
Id = "WWW",
IsActive = true,
UserId = null
};
var testAccessChannelPerson = new AccessChannelPerson()
{
Id = "2313213_1",
ChannelNumber = 2313213,
PersonNumber = 1,
UserId = "2312312312",
AccessTypes = new List<AccessType>()
{
testAccessType
}
};
var testAccessChannelPersons = new List<AccessChannelPerson>()
{
testAccessChannelPerson ,
new AccessChannelPerson()
{
PersonNumber = 1,
UserId= "1C1",
AccessTypes = new List<AccessType>()
{
new AccessType()
{
Id= "VRU",
IsActive = true
}
}
}
};
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, testAccessChannelPersons);
_mockCoreApiWrapperService.Setup(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()))
.ReturnsAsync(coreApiMessage);
var testRequest = new DataCleanUpRequest()
{
CleanUpType = CleanUpTypes.DeactivateCustodialEAgreements
};
var cleanUpResult = new DataCleanUpResult(testRequest, true, new List<string>());
var result = await _deactivateCustodialEAgreementsService.SetUpAccessTypeUpdateRequest("111111");
Assert.NotNull(result);
Assert.AreEqual(testAccessType, result.AccessType);
Assert.AreEqual(12312312323123, result.UpdateKey);
Assert.AreEqual("2313213_1", result.AccessChannelPersonId);
_mockCoreApiWrapperService.Verify(x => x.GetActiveCustodialAgreePersonNumbers(), Times.Never);
_mockCoreApiWrapperService.Verify(x => x.GetCoreApiMessageAccessChannelPersons(It.IsAny<AccessChannelPersonsByPersonRequest>(),
It.IsAny<List<string>>()), Times.Once);
_mockCoreApiWrapperService.Verify(x => x.UpdateAccessType(It.IsAny<AccessTypeUpdateRequest>()), Times.Never);
}
}