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 = "employee@landmarkcu.com", 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 = "newEmployee@landmarkcu.com"; 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); } } }