Files
2026-03-17 09:53:09 -05:00

98 lines
4.0 KiB
C#

using LCU.API.Internal.Operations.IncentiveApiLib;
using LCU.Library.Internal.IncentiveApiModels.Entities;
using LCU.Library.Internal.IncentiveApiModels.Enums;
using NUnit.Framework;
using System;
namespace Application.UnitTests.Entities
{
public class ActivityTest
{
[Test]
public void CopyActivityForTransfer_Basic()
{
var activityToCopy = new Activity
{
Accepted = new DateTime(2021, 9, 22),
DepartmentId = 2,
Detail = new ActivityDetail
{
AccountBalance = 100.00,
AccountNewBalance = 99.00,
AccountNumber = "888888",
AccountStatus = "Open",
AgreementNumber = "999",
BranchOrgName = "Org Name",
BranchOrgNbr = "Org Number",
DnaPersonNbr = "DNA number",
IsDebtProtectionEligible = true,
MemberName = "Member Name",
StationName = "Station Name",
SubjectOrgNbr = "Subject Org Number",
SubjectPersonNbr = "Subject Person Number",
IsGapInsuranceEligible = true,
},
EmployeeEmail = "[email protected]",
EmployeeId = "E0000",
MatchingActivityId = 0,
Product = Product.CheckCard,
SourceCreated = new DateTime(2021, 9, 22),
SourceId = "Source ID",
SourceSystem = SystemType.Dna,
State = ActivityState.PendingTransfer,
Type = ActivityType.Sale
};
var activityTransferAction = new ActivityTransferAction
{
NewActivityDepartmentId = 88,
NewActivityEmployeeId = "C0001",
ActivityStateBeforeTransfer = ActivityState.Accepted
};
var employeeEmailAddress = "[email protected]";
var result = Activity.CopyActivityForTransfer(activityToCopy, activityTransferAction, employeeEmailAddress);
Assert.AreEqual(true, result.Detail.IsDebtProtectionEligible);
Assert.AreEqual(0, result.Id);
Assert.AreEqual("888888", result.Detail.AccountNumber);
Assert.AreEqual(new DateTime(2021, 9, 22), result.Accepted);
Assert.AreEqual(new DateTime(2021, 9, 22), result.SourceCreated);
Assert.AreEqual(ActivityType.Sale, result.Type);
Assert.AreEqual(activityTransferAction.NewActivityDepartmentId, result.DepartmentId);
Assert.AreEqual(activityTransferAction.NewActivityEmployeeId, result.EmployeeId);
Assert.AreEqual(activityTransferAction.ActivityStateBeforeTransfer, result.State);
Assert.AreEqual(employeeEmailAddress, result.EmployeeEmail);
Assert.AreEqual(new DateTime(), result.LastUpdated);
Assert.AreEqual(null, result.LastUpdatedBy);
Assert.AreEqual(UserType.Associate, result.LastUpdatedByType);
Assert.AreEqual(new DateTime(), result.Created);
Assert.AreEqual(null, result.CreatedBy);
Assert.AreEqual(UserType.Associate, result.CreatedByType);
Assert.AreEqual(true, result.Detail.IsGapInsuranceEligible);
}
[Test]
public void ActivityTransformForView()
{
var activity = new Activity
{
Product = Product.CreditCard,
Type = ActivityType.Referral,
Detail = new ActivityDetail
{
Activity = new Activity
{
Product = Product.CreditCard,
Type = ActivityType.Referral,
},
AccountNumber = "1234567890"
}
};
var result = activity.TransformForView();
Assert.AreEqual("XXXXXX7890", result.Detail.AccountNumber);
}
}
}