using System.Collections.Generic; using Xunit; using Landmark.OLA.Application.Controllers; using Landmark.OLA.Application.Services; using Landmark.OLA.Models.Core; namespace Landmark.OLA.Integration.Tests { public class CoreAccessServiceTest { private readonly CoreAccessService coreAccessService; private readonly List forms; private readonly List owners; public CoreAccessServiceTest() { coreAccessService = new CoreAccessService(); forms = [ new OnlineIdentityFormData() { DateOfBirth = "2009-01-01", SocialSecurityNumber = "9999" }, new OnlineIdentityFormData() { DateOfBirth = "01/01/2009", SocialSecurityNumber = "9999" }, new OnlineIdentityFormData() { DateOfBirth = "01/01/09", SocialSecurityNumber = "7777" } ]; owners = [ new CoreMemberOwner() { Address = "address", BirthDate = "2009-01-01", DriverLicense = "F620-3888-0442-88", IndividualId = 99, Name = "John Tester", TaxId = "999-99-9999", Type = "Primary" }, new CoreMemberOwner() { Address = "address", BirthDate = "2006-01-01", DriverLicense = "F620-3999-0442-99", IndividualId = 100, Name = "Jane Tester", TaxId = "999-99-8888", Type = "Secondary" } ]; } [Fact] public void FindMatchingOwner_Bad_Args() { var result = coreAccessService.FindMatchingOwner(null, null); Assert.Null(result); var document = new OnlineIdentityFormData() { DateOfBirth = "asdfasd", SocialSecurityNumber = "asdf" }; result = coreAccessService.FindMatchingOwner(document, null); Assert.Null(result); var ownersEmpty = new List() { }; result = coreAccessService.FindMatchingOwner(document, ownersEmpty); Assert.Null(result); result = coreAccessService.FindMatchingOwner(null, owners); Assert.Null(result); } [Fact] public void FindMatchingOwnerBasic() { var result = coreAccessService.FindMatchingOwner(forms[0], owners); Assert.NotNull(result); Assert.Equal(owners[0].IndividualId, result.IndividualId); result = coreAccessService.FindMatchingOwner(forms[1], owners); Assert.NotNull(result); Assert.Equal(owners[0].IndividualId, result.IndividualId); result = coreAccessService.FindMatchingOwner(forms[2], owners); Assert.Null(result); } [Fact] public void DoesOwnerMatchBasic() { Assert.True(coreAccessService.DoesOwnerMatch(owners[0], forms[0])); Assert.True(coreAccessService.DoesOwnerMatch(owners[0], forms[1])); Assert.False(coreAccessService.DoesOwnerMatch(owners[0], forms[2])); Assert.False(coreAccessService.DoesOwnerMatch(owners[1], forms[0])); Assert.False(coreAccessService.DoesOwnerMatch(owners[1], forms[1])); Assert.False(coreAccessService.DoesOwnerMatch(owners[1], forms[2])); } } }