This commit is contained in:
Zeeshaun
2026-05-04 10:09:55 -05:00
parent a57846d9d1
commit 7b25f249e3
30 changed files with 99 additions and 283 deletions
@@ -3,8 +3,8 @@ using LCU.API.Internal.MemberPreferencesApi.Models;
using LCU.API.Internal.MemberPreferencesApi.Models.Requests;
using LCU.API.Internal.MemberPreferencesApi.Services.XdiServices;
using LCU.API.Internal.MemberPreferencesApiLib.Repositories;
using LCU.Library.Internal.LcuClassPatterns.CrudTests.Tests;
using LCU.Library.Internal.LcuClassPatterns.CrudTests.Utilities;
using LCU.Library.Internal.ApiResponse.Models;
using LCU.Library.Internal.FileOperationsModels.Models;
using LCU.Library.Internal.MemberPreferencesApiModels.Entities;
using LCU.Library.Internal.MemberPreferencesApiModels.Enums;
using Moq;
@@ -17,11 +17,10 @@ using System.Threading.Tasks;
namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services
{
public class XdiBatchItemServiceTest : CrudServiceTest<XdiBatchProcessInfo>
public class XdiBatchItemServiceTest
{
private IXdiBatchService _xdiBatchItemService;
private Mock<IXdiBatchItemsRepository> _mockBatchItemsRepository;
private Mock<IXdiBatchProcessInfoRepository> _mockXdiBatchProcessInfoRepository;
private Mock<IUnitOfWork> _mockUnitOfWork;
private Mock<IUnifiedOptInRepository> _mockUnifiedOptinRepository;
private Mock<IMemberPreferenceRepository> _mockMemberPreferenceRepository;
@@ -31,7 +30,6 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services
public void Setup()
{
_mockBatchItemsRepository = new Mock<IXdiBatchItemsRepository>();
_mockXdiBatchProcessInfoRepository = new Mock<IXdiBatchProcessInfoRepository>();
_mockUnitOfWork = new Mock<IUnitOfWork>();
_mockUnifiedOptinRepository = new Mock<IUnifiedOptInRepository>();
_mockMemberPreferenceRepository = new Mock<IMemberPreferenceRepository>();
@@ -39,7 +37,7 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services
_xdiBatchItemService = new XdiBatchService(_mockBatchItemsRepository.Object, _mockUnitOfWork.Object,
_mockUnifiedOptinRepository.Object, _mockMemberPreferenceRepository.Object,
_mockFileOperationsApiService.Object, _mockXdiBatchProcessInfoRepository.Object);
_mockFileOperationsApiService.Object);
}
[Test]
@@ -305,14 +303,17 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services
UniversalOptIn = DeliveryPreference.Hold
});
var xdiBatchProcessInfo = new List<XdiBatchProcessInfo>
var appendFileResponse = new RequestResponse
{
new()
IsSuccessful = true,
ReturnResponse = new ReturnResponse
{
XdiBatchProcessInfoId = (int)typeof(int).GetRandomValue(),
StartTimeStamp = DateTime.Now,
XdiBatchProcessStatus = XdiBatchProcessStatus.InProgress,
ApiResponse = "Started"
ResponseItems = new List<ResponseItem>() {
new()
{
ResponsePayload = "File Created"
}
}
}
};
@@ -321,10 +322,9 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services
XdiAppendFileRootBasePath = "test/test"
};
_mockXdiBatchProcessInfoRepository.Setup(x => x.FindBatchProcessInfoByStatus(XdiBatchProcessStatus.InProgress)).ReturnsAsync(xdiBatchProcessInfo)
.Verifiable();
_mockFileOperationsApiService.Setup(x => x.AppendFile(It.IsAny<AppendFileRequest>())).ReturnsAsync(appendFileResponse).Verifiable();
var results = await _xdiBatchItemService.BuildXdiFiles(testFile, request.XdiAppendFileRootBasePath, xdiBatchProcessInfo.FirstOrDefault());
var results = await _xdiBatchItemService.BuildXdiFiles(testFile, request.XdiAppendFileRootBasePath);
Assert.AreEqual(4, results.Count);
Assert.True(results.Exists(x => x.UserId == "100" && x.Value == "[email protected]"));
@@ -347,17 +347,6 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services
}
};
var xdiBatchProcessInfo = new List<XdiBatchProcessInfo>
{
new()
{
XdiBatchProcessInfoId = (int)typeof(int).GetRandomValue(),
StartTimeStamp = DateTime.Now,
XdiBatchProcessStatus = XdiBatchProcessStatus.InProgress,
ApiResponse = "Started"
}
};
_mockUnifiedOptinRepository
.Setup(x => x.GetMemberOptInSettingsNoTracking("100")).ReturnsAsync(new MemberOptInSettings
{
@@ -369,15 +358,28 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services
.Setup(x => x.GetMemberOptInSettingsNoTracking(It.Is<string>(userId => int.Parse(userId) > 100)))
.Returns(Task.FromResult<MemberOptInSettings>(null));
_mockXdiBatchProcessInfoRepository.Setup(x => x.FindBatchProcessInfoByStatus(XdiBatchProcessStatus.InProgress)).ReturnsAsync(xdiBatchProcessInfo)
.Verifiable();
var request = new XdiBatchRequest()
{
XdiAppendFileRootBasePath = "test/test"
};
var results = await _xdiBatchItemService.BuildXdiFiles(testFile, request.XdiAppendFileRootBasePath, xdiBatchProcessInfo.FirstOrDefault());
var appendFileResponse = new RequestResponse
{
IsSuccessful = true,
ReturnResponse = new ReturnResponse
{
ResponseItems = new List<ResponseItem>() {
new()
{
ResponsePayload = "File Created"
}
}
}
};
_mockFileOperationsApiService.Setup(x => x.AppendFile(It.IsAny<AppendFileRequest>())).ReturnsAsync(appendFileResponse).Verifiable();
var results = await _xdiBatchItemService.BuildXdiFiles(testFile, request.XdiAppendFileRootBasePath);
Assert.AreEqual(1, results.Count);
Assert.True(results.Exists(x => x.UserId == "100" && x.Value == DeliveryPreference.Paper));