This commit is contained in:
Zeeshaun
2026-03-31 16:43:12 -05:00
parent 9be174da46
commit d639027028
198 changed files with 111474 additions and 0 deletions
@@ -0,0 +1,57 @@
using System.Collections.Generic;
using System.Linq;
using LCU.Library.Internal.MemberPreferencesApiModels.Enums;
using NUnit.Framework;
using LCU.API.Internal.MemberPreferencesApi.Models;
namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.XdiBatch
{
public class XdiBatchFileTest
{
[SetUp]
public void Setup()
{
}
[Test]
public void TestNewEnrollFile()
{
var newFile = new XdiBatchFile()
{
Type = XdiFileType.AddMemberElectronic,
Data = new List<XdiBatchFileRow>()
{
new XdiBatchFileRow()
{
Email = "[email protected]",
UserId = "99",
CellPhone = ""
},
new XdiBatchFileRow()
{
Email = "[email protected]",
UserId = "89",
CellPhone = ""
},
new XdiBatchFileRow()
{
Email = "[email protected]",
UserId = "79",
CellPhone = ""
}
}
};
var fileName = newFile.GetFileName();
var stringResults = newFile.ConvertToDataRows();
var results = newFile.ConvertToDataFile();
Assert.NotNull(fileName);
Assert.AreEqual("Enrollment_AddElectronic_LMCU.txt", fileName);
Assert.NotNull(results);
Assert.NotNull(stringResults);
Assert.AreEqual("99|[email protected]|", stringResults.First());
}
}
}
@@ -0,0 +1,218 @@
using System;
using System.Linq;
using LCU.Library.Internal.MemberPreferencesApiModels.Entities;
using LCU.Library.Internal.MemberPreferencesApiModels.Enums;
using LCU.API.Internal.MemberPreferencesApi.Models;
using NUnit.Framework;
namespace LCU.API.Internal.MemberPreferencesApi.UnitTests
{
public class XdiBatchTest
{
private XdiBatchItem _item;
[SetUp]
public void Setup()
{
_item = new XdiBatchItem()
{
Created = DateTime.Now,
BatchState = BatchState.New,
LastUpdated = DateTime.Now,
UserId = "99"
};
}
[Test]
public void TestEmptyBatch()
{
var batch = new Models.XdiBatch();
var files = batch.GetNonEmptyFiles();
Assert.NotNull(files);
Assert.False(files.Any());
}
[Test]
public void Test_Enrollment_UpdateToPrint()
{
var batch = new Models.XdiBatch();
var settings = new MemberOptInSettings()
{
Id = 1000,
UniversalOptIn = DeliveryPreference.Paper,
ENotifications = DeliveryPreference.Electronic,
EStatements = DeliveryPreference.Electronic,
UnifiedOptInEmail = "[email protected]",
ENotificationsEmail = "[email protected]",
EStatementsEmail = "[email protected]",
LastUpdated = DateTime.Now,
LegalDate = DateTime.Now,
LegalVersion = "1.2.3",
UserId = "99",
CreatedByType = UserType.Associate,
LastUpdatedByType = UserType.System,
CreatedBy = "test",
Created = DateTime.Now,
LastUpdatedBy = "test"
};
var result = batch.ProcessItem(_item, settings);
Assert.True(result);
var files = batch.GetNonEmptyFiles();
Assert.NotNull(files);
Assert.AreEqual(1, files.Count);
Assert.AreEqual(XdiFileType.UpdateMemberToPrint, files.First().Type);
}
[Test]
public void Test_DoNothing()
{
var batch = new Models.XdiBatch();
var settings = new MemberOptInSettings()
{
Id = 1000,
UniversalOptIn = DeliveryPreference.Paper,
ENotifications = null,
EStatements = DeliveryPreference.Electronic,
UnifiedOptInEmail = "[email protected]",
ENotificationsEmail = null,
EStatementsEmail = "[email protected]",
UserId = "99"
};
var result = batch.ProcessItem(_item, settings);
Assert.False(result);
var files = batch.GetNonEmptyFiles();
Assert.NotNull(files);
Assert.False(files.Any());
}
[Test]
public void Test_Enrollment_UpdateToElectronic()
{
var batch = new Models.XdiBatch();
var settings = new MemberOptInSettings()
{
Id = 1000,
UniversalOptIn = DeliveryPreference.Electronic,
ENotifications = DeliveryPreference.Paper,
EStatements = DeliveryPreference.Paper,
UnifiedOptInEmail = "[email protected]",
ENotificationsEmail = "[email protected]",
EStatementsEmail = "[email protected]",
UserId = "99"
};
var result = batch.ProcessItem(_item, settings);
Assert.True(result);
var files = batch.GetNonEmptyFiles();
Assert.NotNull(files);
Assert.AreEqual(1, files.Count);
Assert.AreEqual(XdiFileType.UpdateMemberToElectronic, files.First().Type);
}
[Test]
public void Test_Enrollment_AddElectronic()
{
var batch = new Models.XdiBatch();
var settings = new MemberOptInSettings()
{
Id = 1000,
UniversalOptIn = DeliveryPreference.Electronic,
ENotifications = null,
EStatements = DeliveryPreference.Paper,
UnifiedOptInEmail = "[email protected]",
ENotificationsEmail = null,
EStatementsEmail = null,
UserId = "99"
};
var result = batch.ProcessItem(_item, settings);
Assert.True(result);
var files = batch.GetNonEmptyFiles();
Assert.NotNull(files);
Assert.AreEqual(1, files.Count);
Assert.AreEqual(XdiFileType.AddMemberElectronic, files.First().Type);
}
[Test]
public void Test_Enrollment_UpdateEmail()
{
var batch = new Models.XdiBatch();
var settings = new MemberOptInSettings()
{
Id = 1000,
UniversalOptIn = DeliveryPreference.Electronic,
ENotifications = DeliveryPreference.Electronic,
EStatements = DeliveryPreference.Electronic,
UnifiedOptInEmail = "[email protected]",
ENotificationsEmail = "[email protected]",
EStatementsEmail = "[email protected]",
UserId = "99"
};
var result = batch.ProcessItem(_item, settings);
Assert.True(result);
var files = batch.GetNonEmptyFiles();
Assert.NotNull(files);
Assert.AreEqual(1, files.Count);
Assert.AreEqual(XdiFileType.UpdateMemberEmail, files.First().Type);
}
[Test]
public void Test_Enrollment_Microfiche()
{
var batch = new Models.XdiBatch();
var settings = new MemberOptInSettings()
{
Id = 1000,
UniversalOptIn = DeliveryPreference.Microfiche,
ENotifications = DeliveryPreference.Electronic,
EStatements = DeliveryPreference.Electronic,
UnifiedOptInEmail = "[email protected]",
ENotificationsEmail = "[email protected]",
EStatementsEmail = "[email protected]",
UserId = "99"
};
var result = batch.ProcessItem(_item, settings);
Assert.True(result);
var files = batch.GetNonEmptyFiles();
Assert.NotNull(files);
Assert.AreEqual(1, files.Count);
Assert.AreEqual(XdiFileType.UpdateMemberToPrint, files.First().Type);
Assert.AreEqual("[email protected]", files.First().Data.First().Email);
}
[Test]
public void Test_Enrollment_Hold()
{
var batch = new Models.XdiBatch();
var settings = new MemberOptInSettings()
{
Id = 1000,
UniversalOptIn = DeliveryPreference.Hold,
ENotifications = DeliveryPreference.Electronic,
EStatements = DeliveryPreference.Electronic,
UnifiedOptInEmail = "[email protected]",
ENotificationsEmail = "[email protected]",
EStatementsEmail = "[email protected]",
UserId = "99"
};
var result = batch.ProcessItem(_item, settings);
Assert.True(result);
var files = batch.GetNonEmptyFiles();
Assert.NotNull(files);
Assert.AreEqual(1, files.Count);
Assert.AreEqual(XdiFileType.UpdateMemberToPrint, files.First().Type);
Assert.AreEqual("[email protected]", files.First().Data.First().Email);
}
}
}