Files
monorepo/LCU.API.Internal.DocumentIngestor/LCU.API.Internal.DocumentIngestorTests/Utilities/ToDetailStringExtensionTest.cs
T
2026-03-25 14:50:13 -05:00

142 lines
3.8 KiB
C#

using System;
using LCU.API.Internal.DocumentIngestor.Utilities;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Accounts;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Tax;
using NUnit.Framework;
namespace LCU.API.Internal.DocumentIngestorTests.Utilities;
public class ToDetailStringExtensionTest
{
[Test]
public void ToDetailString_AccountOwnershipPersonNumberNotZero_FormatsPersonDetail()
{
var ownership = PersonOwnershipFactory();
var detail = ownership.ToDetailString();
StringAssert.Contains(ownership.PersonNumber.ToString(), detail);
StringAssert.Contains(ownership.FirstName, detail);
StringAssert.Contains(ownership.MiddleName, detail);
StringAssert.Contains(ownership.LastName, detail);
}
[Test]
public void ToDetailString_AccountOwnershipPersonNumberZero_FormatsOrganizationDetail()
{
var ownership = OrganizationOwnershipFactory();
var detail = ownership.ToDetailString();
StringAssert.Contains(ownership.OrganizationName, detail);
StringAssert.Contains(ownership.ByOrgNbr.ToString(), detail);
}
[Test]
public void ToDetailString_PersonTaxIdDataResponse_FormatsPersonDetail()
{
var ownership = PersonPersonTaxDataFactory();
var detail = ownership.ToDetailString();
StringAssert.Contains(ownership.PersonNumber.ToString(), detail);
StringAssert.Contains(ownership.FirstName, detail);
StringAssert.Contains(ownership.MiddleName, detail);
StringAssert.Contains(ownership.LastName, detail);
}
[Test]
public void ToDetailString_OrganizationTaxIdDataResponse_FormatsOrganizationDetail()
{
var ownership = OrganizationTaxDataFactory();
var detail = ownership.ToDetailString();
StringAssert.Contains(ownership.Name, detail);
StringAssert.Contains(ownership.OrganizationNumber.ToString(), detail);
}
[Test]
public void ToDetailString_EnumerableAccountOwnerships_SpacesBetweenEach()
{
var ownerships = new[]
{
PersonOwnershipFactory(),
OrganizationOwnershipFactory(),
PersonOwnershipFactory(),
OrganizationOwnershipFactory()
};
var detail = ownerships.ToDetailString();
foreach (var owner in ownerships)
{
StringAssert.IsMatch($"{owner.ToDetailString()}(; |$)", detail);
}
}
[Test]
public void ToDetailString_EnumerablePersonTaxIdDataResponses_SpacesBetweenEach()
{
var ownerships = new[]
{
PersonPersonTaxDataFactory(),
PersonPersonTaxDataFactory(),
PersonPersonTaxDataFactory()
};
var detail = ownerships.ToDetailString();
foreach (var owner in ownerships)
{
StringAssert.IsMatch($"{owner.ToDetailString()}(; |$)", detail);
}
}
[Test]
public void ToDetailString_EnumerableOrganizationTaxIdDataResponses_SpacesBetweenEach()
{
var ownerships = new[]
{
OrganizationTaxDataFactory(),
OrganizationTaxDataFactory(),
OrganizationTaxDataFactory()
};
var detail = ownerships.ToDetailString();
foreach (var owner in ownerships)
{
StringAssert.IsMatch($"{owner.ToDetailString()}(; |$)", detail);
}
}
private static AccountOwnership PersonOwnershipFactory() => new()
{
PersonNumber = DateTime.Now.Millisecond,
FirstName = Guid.NewGuid().ToString(),
MiddleName = Guid.NewGuid().ToString(),
LastName = Guid.NewGuid().ToString()
};
private static AccountOwnership OrganizationOwnershipFactory() => new()
{
PersonNumber = 0,
OrganizationName = Guid.NewGuid().ToString(),
ByOrgNbr = DateTime.Now.Millisecond
};
private static PersonTaxIdDataResponse PersonPersonTaxDataFactory() => new()
{
PersonNumber = DateTime.Now.Millisecond,
FirstName = Guid.NewGuid().ToString(),
MiddleName = Guid.NewGuid().ToString(),
LastName = Guid.NewGuid().ToString()
};
private static OrganizationTaxIdDataResponse OrganizationTaxDataFactory() => new()
{
Name = Guid.NewGuid().ToString(),
OrganizationNumber = DateTime.Now.Millisecond
};
}