Ejemplo n.º 1
0
        public void CanDetectConflicts()
        {
            var source = FakeGenerator.CreateClientRegistrantProfile();
            var target = FakeGenerator.CreateClientRegistrantProfile();

            var conflicts = ProfilesConflictDetector.DetectConflicts(source, target).ToArray();

            conflicts.Count().ShouldBe(3);
            var nameConflict = conflicts.Where(c => c is NameDataConflict).Cast <NameDataConflict>().ShouldHaveSingleItem();

            nameConflict.OriginalValue.firstName.ShouldNotBeNull().ShouldBe(source.PersonalDetails.FirstName);
            nameConflict.OriginalValue.lastName.ShouldNotBeNull().ShouldBe(source.PersonalDetails.LastName);
            nameConflict.ConflictingValue.firstName.ShouldNotBeNull().ShouldBe(target.PersonalDetails.FirstName);
            nameConflict.ConflictingValue.lastName.ShouldNotBeNull().ShouldBe(target.PersonalDetails.LastName);

            var dobConflict = conflicts.Where(c => c is DateOfBirthDataConflict).Cast <DateOfBirthDataConflict>().ShouldHaveSingleItem();

            dobConflict.OriginalValue.ShouldNotBeNull().ShouldBe(source.PersonalDetails.DateOfBirth);
            dobConflict.ConflictingValue.ShouldNotBeNull().ShouldBe(target.PersonalDetails.DateOfBirth);

            var addressConflict = conflicts.Where(c => c is AddressDataConflict).Cast <AddressDataConflict>().ShouldHaveSingleItem();

            addressConflict.OriginalValue.AddressLine1.ShouldNotBeNull().ShouldBe(source.PrimaryAddress.AddressLine1);
            addressConflict.OriginalValue.PostalCode.ShouldNotBeNull().ShouldBe(source.PrimaryAddress.PostalCode);
            addressConflict.ConflictingValue.AddressLine1.ShouldNotBeNull().ShouldBe(target.PrimaryAddress.AddressLine1);
            addressConflict.ConflictingValue.PostalCode.ShouldNotBeNull().ShouldBe(target.PrimaryAddress.PostalCode);
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <IEnumerable <ProfileDataConflict> > > GetProfileConflicts()
        {
            var userId = currentUserId;

            var profile = await evacuationSearchService.GetRegistrantByUserId(userId);

            if (profile == null)
            {
                return(NotFound(userId));
            }

            //TODO: map to user profile from BCSC
            var userProfile = GetUserFromPrincipal();
            var conflicts   = ProfilesConflictDetector.DetectConflicts(mapper.Map <Profile>(profile), userProfile);

            return(Ok(conflicts));
        }