Example #1
0
        public void Get_CallsGetOnAssessmentEventService_ReceivesAssessmentEventServiceDomainDTO_GetRevenueObjectThrowsNotFoundException()
        {
            var assessmentEventId  = 1;
            var assessmentEventDto = new AssessmentEventDto
            {
                Id                       = assessmentEventId,
                EventDate                = DateTime.Now,
                AsmtEventType            = 999,
                AsmtEventTypeDescription = "Annual",
                RevObjId                 = 888,
                DynCalcStepTrackingId    = 777,
                TaxYear                  = 2017,
                TranId                   = 99999999999
            };
            var assessmentEventTranDto = new AssessmentEventTransactionDto
            {
                AsmtEventStateDescription = "Review Required",
                AsmtEventId     = assessmentEventId,
                AsmtEventState  = 1,
                AsmtRevnEventId = 2,
                Id = 4
            };

            assessmentEventDto.AssessmentEventTransactions.Add(assessmentEventTranDto);

            var baseValueSegmentDto = new BaseValueSegmentDto()
            {
                AsOf            = DateTime.Now,
                RevenueObjectId = 999,
            };

            var httpClientWrapperMock = new Mock <IHttpClientWrapper>();

            httpClientWrapperMock.Setup(x => x.Get <AssessmentEventDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(assessmentEventDto);
            httpClientWrapperMock.Setup(x => x.Get <AssessmentEventTransactionDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(assessmentEventTranDto);
            httpClientWrapperMock.Setup(x => x.Get <BaseValueSegmentDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(baseValueSegmentDto);

            var applicationSettingsHelper = new Mock <IApplicationSettingsHelper>();

            applicationSettingsHelper.Setup(x => x.AssessmentEventServiceApiUrl).Returns("");
            applicationSettingsHelper.Setup(x => x.RevenueObjectServiceApiUrl).Throws(new NotFoundException("something"));
            applicationSettingsHelper.Setup(x => x.LegalPartyServiceApiUrl).Returns("");
            applicationSettingsHelper.Setup(x => x.BaseValueSegmentServiceApiUrl).Returns("");

            var domain = new AssessmentHeaderDomain(httpClientWrapperMock.Object, applicationSettingsHelper.Object);

            Should.Throw <NotFoundException>(() => domain.Get(assessmentEventId));
        }
        public async Task <BeneificialInterestDto> Get(int assessmentEventId)
        {
            var beneificialInterestDto = new BeneificialInterestDto();

            var results = await _baseValueSegmentProvider.GetCurrentAndPrevious(assessmentEventId);

            AssessmentEventDto assessmentEvent = await _assessmentEventRepository.Get(assessmentEventId);

            if (results.Item1 != null)
            {
                beneificialInterestDto.CurrentBaseValueSegment = await CreateReadBvsTransactionByOwners(assessmentEvent.EventDate, results.Item1, assessmentEvent.AsmtEventType);
            }

            if (results.Item2 != null)
            {
                beneificialInterestDto.PreviousBaseValueSegment = await CreateReadBvsTransactionByOwners(assessmentEvent.EventDate, results.Item2, assessmentEvent.AsmtEventType);
            }

            return(beneificialInterestDto);
        }
Example #3
0
        public async Task <AssessmentEventDto> GetAsync(int id)
        {
            id.ThrowBadRequestExceptionIfInvalid("assessmentEventId");

            var assesmentEventRepoModel = await _assesmentEventRepository.GetAsync(id);

            if (assesmentEventRepoModel == null)
            {
                throw new RecordNotFoundException(
                          id.ToString(), typeof(Repository.Models.V1.AssessmentEvent), string.Format("Id {0} is missing.", id));
            }

            AssessmentEventDto assessmentEventDto = assesmentEventRepoModel.ToDomain();

            //Primary Base Year
            AssessmentEventTransactionDto assessmentEventTransaction
                = assessmentEventDto.AssessmentEventTransactions.OrderByDescending(aet => aet.Id).FirstOrDefault();

            if (assessmentEventTransaction != null)
            {
                AssessmentEventValue assessmentEventValue
                    = await _assesmentEventRepository.GetAssessmentEventValueByAssessmentEventTransactionIdAsync(assessmentEventTransaction.Id);

                assessmentEventDto.PrimaryBaseYear =
                    assessmentEventValue?.Attribute1;
                assessmentEventDto.PrimaryBaseYearMultipleOrSingleDescription =
                    assessmentEventValue?.Attribute2Description;
            }
            else
            {
                assessmentEventDto.PrimaryBaseYear = null;
                assessmentEventDto.PrimaryBaseYearMultipleOrSingleDescription = null;
            }

            return(assessmentEventDto);
        }
        public void GetSubComponentsWithValidAssessmentEventId()
        {
            int      assessmentEventId     = 100;
            int      revenueObjectId       = 200;
            int      bvsId                 = 300;
            int      bvsTransId            = 310;
            int      bvsOwnerId            = 320;
            int      bvsValueHeaderId      = 330;
            int      bvsOwnerValueId       = 340;
            int      bvsValueId            = 350;
            int      transId               = 400;
            int      legalPartyRoleId      = 400;
            int      grmEventId            = 500;
            int      subComponentId        = 600;
            int      sequenceNumber        = 1;
            int      dynCalcStepTrackingId = -100;
            DateTime eventDate             = new DateTime(2016, 1, 1);
            DateTime effectiveDate         = new DateTime(2016, 2, 1);

            var baseValueSegmentCurrent = new BaseValueSegmentDto
            {
                AsOf = eventDate,
                AssessmentEventTransactionId        = 10,
                BaseValueSegmentAssessmentRevisions = new List <AssessmentRevisionBaseValueSegmentDto>(),
                BaseValueSegmentTransactions        = new List <BaseValueSegmentTransactionDto>
                {
                    new BaseValueSegmentTransactionDto
                    {
                        Id = bvsTransId,
                        BaseValueSegmentId = bvsId,
                        TransactionId      = transId,
                        EffectiveStatus    = "A",
                        BaseValueSegmentTransactionTypeId = 2,
                        BaseValueSegmentTransactionType   = new BaseValueSegmentTransactionTypeDto
                        {
                            Description = "UnitTestBVSTransactionType",
                            Name        = "UnitTestBVSTransactionType"
                        },
                        DynCalcStepTrackingId  = dynCalcStepTrackingId,
                        BaseValueSegmentOwners = new List <BaseValueSegmentOwnerDto>
                        {
                            new BaseValueSegmentOwnerDto
                            {
                                Id = bvsOwnerId,
                                BaseValueSegmentTransactionId = bvsTransId,
                                BeneficialInterestPercent     = 50,
                                DynCalcStepTrackingId         = dynCalcStepTrackingId,
                                GRMEventId       = grmEventId,
                                LegalPartyRoleId = legalPartyRoleId,
                                BaseValueSegmentOwnerValueValues = new List <BaseValueSegmentOwnerValueDto>
                                {
                                    new BaseValueSegmentOwnerValueDto
                                    {
                                        Id = bvsOwnerValueId,
                                        BaseValueSegmentOwnerId       = bvsOwnerId,
                                        BaseValueSegmentValueHeaderId = bvsValueHeaderId,
                                        BaseValue             = 10000,
                                        DynCalcStepTrackingId = dynCalcStepTrackingId
                                    }
                                }
                            },
                        },
                        BaseValueSegmentValueHeaders = new List <BaseValueSegmentValueHeaderDto>
                        {
                            new BaseValueSegmentValueHeaderDto
                            {
                                Id = bvsValueHeaderId,
                                BaseValueSegmentTransactionId = bvsTransId,
                                GRMEventId             = grmEventId,
                                BaseYear               = 2016,
                                BaseValueSegmentValues = new List <BaseValueSegmentValueDto>
                                {
                                    new BaseValueSegmentValueDto
                                    {
                                        Id = bvsValueId,
                                        BaseValueSegmentValueHeaderId = bvsValueHeaderId,
                                        DynCalcStepTrackingId         = dynCalcStepTrackingId,
                                        FullValueAmount = 100000,
                                        PercentComplete = 50,
                                        SubComponent    = subComponentId,
                                        ValueAmount     = 80000
                                    }
                                }
                            }
                        }
                    }
                },
                DynCalcInstanceId = -1,
                Id = bvsId,
                RevenueObjectId = revenueObjectId,
                SequenceNumber  = sequenceNumber,
                TransactionId   = -1000
            };

            var baseValueSegmentInfoList = new List <BaseValueSegmentInfoDto>
            {
                new BaseValueSegmentInfoDto
                {
                    AsOf            = eventDate,
                    Id              = bvsId,
                    RevenueObjectId = revenueObjectId,
                    SequenceNumber  = sequenceNumber
                }
            };

            var assessmentEvent = new AssessmentEventDto
            {
                Id        = assessmentEventId,
                EventDate = eventDate
            };

            var conclusionEventsList = new List <BaseValueSegmentConclusionDto>
            {
                new BaseValueSegmentConclusionDto
                {
                    ConclusionDate = eventDate,
                    Description    = "UnitTestConclusionEvent",
                    GrmEventId     = grmEventId
                }
            };

            var legalPartyRoleDocumentList = new List <LegalPartyDocumentDto>
            {
                new LegalPartyDocumentDto
                {
                    LegalPartyRoleId      = legalPartyRoleId,
                    DocDate               = effectiveDate,
                    DocNumber             = "UnitTestDocument",
                    DocType               = "Deed",
                    GrmEventId            = grmEventId,
                    LegalPartyDisplayName = "Unit Test Legal Party",
                    PctGain               = 50,
                    RightTransferId       = 0
                }
            };

            _legalPartyDomainRepository.Setup(x => x.GetLegalPartyRoleDocuments(It.IsAny <BaseValueSegmentDto>()))
            .ReturnsAsync(legalPartyRoleDocumentList);

            var valueHeaderGrmEvents = new List <GrmEventInformationDto>
            {
                new GrmEventInformationDto
                {
                    GrmEventId      = grmEventId,
                    Description     = "UnitTestGrmEvent",
                    EventDate       = eventDate,
                    EffectiveDate   = effectiveDate,
                    RevenueObjectId = revenueObjectId,
                    EventType       = "Transfer"
                }
            };

            var marketRestrictedValues = new List <MarketAndRestrictedValueDto>
            {
                new MarketAndRestrictedValueDto
                {
                    SubComponent    = subComponentId,
                    MarketValue     = 100000,
                    RestrictedValue = 50000
                }
            };

            var subComponentDetailsList = new List <SubComponentDetailDto>
            {
                new SubComponentDetailDto
                {
                    SubComponentId = subComponentId,
                    Component      = "Unit Test Component",
                    SubComponent   = "Unit Test Subcomponent"
                }
            };

            var factorBaseYearValueDetail = new FactorBaseYearValueDetailDto
            {
                AssessmentYear = 2016,
                Fbyv           = 102000
            };

            _baseValueSegmentRepository.Setup(x => x.GetListAsync(revenueObjectId)).ReturnsAsync(baseValueSegmentInfoList);

            Tuple <BaseValueSegmentDto, BaseValueSegmentDto> resultSet = new Tuple <BaseValueSegmentDto, BaseValueSegmentDto>(baseValueSegmentCurrent, null);

            _baseValueSegmentProvider.Setup(x => x.GetCurrentAndPrevious(assessmentEventId)).ReturnsAsync(resultSet);

            _assessmentEventRepository.Setup(x => x.Get(assessmentEventId)).ReturnsAsync(assessmentEvent);

            _grmEventDomain.Setup(x => x.GetValueHeaderGrmEvents(It.IsAny <BaseValueSegmentDto>()))
            .ReturnsAsync(valueHeaderGrmEvents.AsEnumerable);

            _baseValueSegmentRepository.Setup(x => x.GetConclusionsData(It.IsAny <int>(), It.IsAny <DateTime>()))
            .ReturnsAsync(conclusionEventsList.AsEnumerable);

            _revenueObjectDomain.Setup(x => x.GetMarketAndRestrictedValues(It.IsAny <DateTime>(), It.IsAny <int>()))
            .ReturnsAsync(marketRestrictedValues.AsEnumerable);

            _baseValueSegmentRepository.Setup(x => x.GetSubComponentDetails(It.IsAny <int>(), It.IsAny <DateTime>()))
            .ReturnsAsync(subComponentDetailsList.AsEnumerable);

            _baseValueSegmentRepository.Setup(x => x.GetFactorBaseYearValueDetail(It.IsAny <DateTime>(),
                                                                                  It.IsAny <int>(), It.IsAny <decimal>(), It.IsAny <int>())).ReturnsAsync(factorBaseYearValueDetail);

            var subComponent = _subComponentBaseValueSegmentDomain.Get(assessmentEventId).Result;

            subComponent.ShouldNotBeNull();
            subComponent.CurrentBaseValueSegment.ShouldNotBeNull();
            subComponent.PreviousBaseValueSegment.ShouldBeNull();
            var bvsComponent = subComponent.CurrentBaseValueSegment;

            bvsComponent.ShouldNotBeNull();
            bvsComponent.BaseValueSegmentTransactionTypeDescription.ShouldBe("UnitTestBVSTransactionType");
            bvsComponent.EventDate.ShouldBe(eventDate);
            bvsComponent.EffectiveDate.ShouldBe(effectiveDate);
            bvsComponent.EventName.ShouldBe("UnitTestGrmEvent");
            bvsComponent.EventType.ShouldBe("UnitTestConclusionEvent");
            bvsComponent.Source.ShouldBe(baseValueSegmentCurrent);
            bvsComponent.Components.Length.ShouldBeGreaterThan(0);
            bvsComponent.ValueHeaders.Length.ShouldBeGreaterThan(0);
            var component = bvsComponent.Components[0];

            component.BaseValue.ShouldBe(80000);
            component.BaseYear.ShouldBe(2016);
            component.EventId.ShouldBe(grmEventId);
            component.EventName.ShouldBe("UnitTestGrmEvent");
            component.EventType.ShouldBe("UnitTestConclusionEvent");
            component.Fbyv.ShouldBe(102000);
            component.FbyvAsOfYear.ShouldBe(2016);
            component.ValueHeaderId.ShouldBe(bvsValueHeaderId);
            var componentDetail = component.ComponentDetails[0];

            componentDetail.BaseValue.ShouldBe(80000);
            componentDetail.Component.ShouldBe("Unit Test Component");
            componentDetail.ComponentId.ShouldBe(0);
            componentDetail.Fbyv.ShouldBe(102000);
            componentDetail.SubComponent.ShouldBe("Unit Test Subcomponent");
            componentDetail.SubComponentId.ShouldBe(subComponentId);
            componentDetail.ValueId.ShouldBe(bvsValueId);
            var valueHeader = bvsComponent.ValueHeaders[0];

            valueHeader.BaseYear.ShouldBe(2016);
            valueHeader.DisplayName.ShouldBe("UnitTestConclusionEvent 2016");
            valueHeader.EffectiveDate.ShouldBe(effectiveDate);
            valueHeader.EventDate.ShouldBe(eventDate);
            valueHeader.EventType.ShouldBe("UnitTestConclusionEvent");
            valueHeader.GrmEventId.ShouldBe(grmEventId);
            valueHeader.HeaderValueId.ShouldBe(bvsValueHeaderId);
        }
Example #5
0
        public void Get_CallsGetOnAssessmentEventService_ReceivesAssessmentEventServiceDomainDTO_RevenueObjectIsNull()
        {
            var assessmentEventId  = 1;
            var assessmentEventDto = new AssessmentEventDto
            {
                Id                       = assessmentEventId,
                EventDate                = DateTime.Now,
                AsmtEventType            = 999,
                AsmtEventTypeDescription = "Annual",
                RevObjId                 = 888,
                DynCalcStepTrackingId    = 777,
                TaxYear                  = 2017,
                TranId                   = 99999999999
            };
            var assessmentEventTranDto = new AssessmentEventTransactionDto
            {
                AsmtEventStateDescription = "Review Required",
                AsmtEventId     = assessmentEventId,
                AsmtEventState  = 1,
                AsmtRevnEventId = 2,
                Id = 4
            };

            assessmentEventDto.AssessmentEventTransactions.Add(assessmentEventTranDto);

            var baseValueSegmentDto = new BaseValueSegmentDto()
            {
                AsOf            = DateTime.Now,
                RevenueObjectId = 999,
            };

            var httpClientWrapperMock = new Mock <IHttpClientWrapper>();

            httpClientWrapperMock.Setup(x => x.Get <AssessmentEventDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(assessmentEventDto);
            httpClientWrapperMock.Setup(x => x.Get <AssessmentEventTransactionDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(assessmentEventTranDto);
            httpClientWrapperMock.Setup(x => x.Get <BaseValueSegmentDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(baseValueSegmentDto);

            var applicationSettingsHelper = new Mock <IApplicationSettingsHelper>();

            applicationSettingsHelper.Setup(x => x.AssessmentEventServiceApiUrl).Returns("");
            applicationSettingsHelper.Setup(x => x.RevenueObjectServiceApiUrl).Returns("");
            applicationSettingsHelper.Setup(x => x.LegalPartyServiceApiUrl).Returns("");
            applicationSettingsHelper.Setup(x => x.BaseValueSegmentServiceApiUrl).Returns("");

            var domain = new AssessmentHeaderDomain(httpClientWrapperMock.Object, applicationSettingsHelper.Object);
            var assessmentHeaderModel = domain.Get(assessmentEventId).Result;

            assessmentHeaderModel.ShouldNotBeNull();
            assessmentHeaderModel.ShouldBeOfType <Models.V1.AssessmentHeader>();

            assessmentHeaderModel.AssessmentEvent.ShouldBeOfType <AssessmentEvent>();
            assessmentHeaderModel.AssessmentEvent.AssessmentEventId.ShouldBe(assessmentEventDto.Id);
            assessmentHeaderModel.AssessmentEvent.EventDate.ShouldBe(assessmentEventDto.EventDate);
            assessmentHeaderModel.AssessmentEvent.AssessmentEventType.ShouldBe(assessmentEventDto.AsmtEventType);
            assessmentHeaderModel.AssessmentEvent.AssessmentEventTypeDescription.ShouldBe(assessmentEventDto.AsmtEventTypeDescription);
            assessmentHeaderModel.AssessmentEvent.RevenueObjectId.ShouldBe(assessmentEventDto.RevObjId);
            assessmentHeaderModel.AssessmentEvent.TaxYear.ShouldBe(assessmentEventDto.TaxYear);
            assessmentHeaderModel.AssessmentEvent.EventState.ShouldBe(assessmentEventDto.AssessmentEventTransactions[0].AsmtEventStateDescription);
            assessmentHeaderModel.AssessmentEvent.BVSTranType.ShouldBeNullOrEmpty();

            assessmentHeaderModel.RevenueObject.ShouldBeNull();
        }
Example #6
0
        [Fact] // TODO: Need to consider the new services we have added.
        public void Get_CallsGetOnAssessmentEventService_ReceivesAssessmentEventServiceDomainDTOAndRevenueObjectDomainAndLegalPartyRolesDomainDTO()
        {
            var          assessmentEventId             = 1;
            var          assessmentEventDate           = DateTime.Now;
            const int    asmtRevnEventId               = 2;
            const int    asmtRevnId                    = 6;
            const int    nonPrimeLegalPartyRoleId      = 3;
            const int    primeLegalPartyRoleId         = 4;
            const string primeLegalPartyDisplayName    = "Prime Dude";
            const string nonPrimeLegalPartyDisplayName = "Nonprime Dude";
            const string tagDescription                = "some TAG description";
            const string firstName  = "UnitTestFirstName";
            const string middleName = "UnitTestMiddleName";
            const string lastName   = "UnitTestLastName";
            const string nameSfx    = "UnitTestNameSfx";
            const int    legalPartyRoleObjectType = 9999;

            var assessmentEventDto = new AssessmentEventDto
            {
                Id                       = assessmentEventId,
                EventDate                = assessmentEventDate,
                AsmtEventType            = 999,
                AsmtEventTypeDescription = "Annual",
                RevObjId                 = 888,
                DynCalcStepTrackingId    = 777,
                TaxYear                  = 2017,
                TranId                   = 99999999999,
                PrimaryBaseYear          = 2015,
                PrimaryBaseYearMultipleOrSingleDescription = "M"
            };
            var assessmentEventTranDto = new AssessmentEventTransactionDto
            {
                AsmtEventStateDescription = "Review Required",
                AsmtEventId     = assessmentEventId,
                AsmtEventState  = 1,
                AsmtRevnEventId = asmtRevnEventId,
                Id = 4
            };

            assessmentEventDto.AssessmentEventTransactions.Add(assessmentEventTranDto);

            var assessmentRevnDto = new AssessmentRevisionDto
            {
                Id = asmtRevnId
            };

            var revenueObjectDto = new RevenueObjectDto
            {
                Id = 333
            };

            var tagDto = new TAGDto
            {
                Description = tagDescription
            };

            var legalPartyRoleDtos = new List <LegalPartyRoleDto>()
            {
                new LegalPartyRoleDto()
                {
                    Id = nonPrimeLegalPartyRoleId,
                    PrimeLegalParty = 0,
                    LegalParty      = new LegalPartyDto()
                    {
                        DisplayName = nonPrimeLegalPartyDisplayName,
                    }
                },
                new LegalPartyRoleDto()
                {
                    Id = primeLegalPartyRoleId,
                    PrimeLegalParty = 1,
                    LegalParty      = new LegalPartyDto()
                    {
                        Id          = 100,
                        DisplayName = primeLegalPartyDisplayName,
                        FirstName   = firstName,
                        MiddleName  = middleName,
                        LastName    = lastName,
                        NameSfx     = nameSfx,
                    },
                    ObjectType = legalPartyRoleObjectType
                }
            };
            var bvsTran1 = new BaseValueSegmentTransactionDto()
            {
                Id = 1,
                BaseValueSegmentTransactionTypeId = 3,
                BaseValueSegmentTransactionType   = new BaseValueSegmentTransactionTypeDto()
                {
                    Name        = "Conversion",
                    Description = "Conversion"
                }
            };
            var bvsTran2 = new BaseValueSegmentTransactionDto()
            {
                Id = 2,
                BaseValueSegmentTransactionTypeId = 2,
                BaseValueSegmentTransactionType   = new BaseValueSegmentTransactionTypeDto()
                {
                    Name        = "User",
                    Description = "User"
                }
            };
            var baseValueSegmentDto = new BaseValueSegmentDto()
            {
                AsOf            = assessmentEventDate,
                RevenueObjectId = 888,
                BaseValueSegmentTransactions = new List <BaseValueSegmentTransactionDto>()
                {
                    bvsTran1,
                    bvsTran2
                }
            };
            var statutoryReferenceDto = new StatutoryReferenceDto()
            {
                Description = "Test Statuatory Reference"
            };

            var httpClientWrapperMock = new Mock <IHttpClientWrapper>();

            httpClientWrapperMock.Setup(x => x.Get <AssessmentEventDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(assessmentEventDto);

            httpClientWrapperMock.Setup(x => x.Get <AssessmentRevisionDto>(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(assessmentRevnDto);
            httpClientWrapperMock.Setup(x => x.Get <RevenueObjectDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(revenueObjectDto);
            httpClientWrapperMock.Setup(x => x.Get <TAGDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(tagDto);
            httpClientWrapperMock.Setup(x => x.Get <IList <LegalPartyRoleDto> >(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(legalPartyRoleDtos);
            httpClientWrapperMock.Setup(x => x.Get <BaseValueSegmentDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(baseValueSegmentDto);
            httpClientWrapperMock.Setup(x => x.Get <StatutoryReferenceDto>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(statutoryReferenceDto);

            var applicationSettingsHelper = new Mock <IApplicationSettingsHelper>();

            applicationSettingsHelper.Setup(x => x.AssessmentEventServiceApiUrl).Returns("");
            applicationSettingsHelper.Setup(x => x.RevenueObjectServiceApiUrl).Returns("");
            applicationSettingsHelper.Setup(x => x.LegalPartyServiceApiUrl).Returns("");
            applicationSettingsHelper.Setup(x => x.BaseValueSegmentServiceApiUrl).Returns("");

            var domain = new AssessmentHeaderDomain(httpClientWrapperMock.Object, applicationSettingsHelper.Object);
            var assessmentHeaderModel = domain.Get(assessmentEventId).Result;

            assessmentHeaderModel.ShouldNotBeNull();
            assessmentHeaderModel.ShouldBeOfType <Models.V1.AssessmentHeader>();
            assessmentHeaderModel.AssessmentEvent.AssessmentEventId.ShouldBe(assessmentEventDto.Id);
            assessmentHeaderModel.AssessmentEvent.EventDate.ShouldBe(assessmentEventDto.EventDate);
            assessmentHeaderModel.AssessmentEvent.AssessmentEventType.ShouldBe(assessmentEventDto.AsmtEventType);
            assessmentHeaderModel.AssessmentEvent.AssessmentEventTypeDescription.ShouldBe(assessmentEventDto.AsmtEventTypeDescription);
            assessmentHeaderModel.AssessmentEvent.RevenueObjectId.ShouldBe(assessmentEventDto.RevObjId);
            assessmentHeaderModel.AssessmentEvent.TaxYear.ShouldBe(assessmentEventDto.TaxYear);
            assessmentHeaderModel.AssessmentEvent.EventState.ShouldBe(assessmentEventDto.AssessmentEventTransactions[0].AsmtEventStateDescription);
            assessmentHeaderModel.AssessmentEvent.RevisionId.ShouldBe(assessmentRevnDto.Id);
            assessmentHeaderModel.AssessmentEvent.BVSTranType.ShouldBe("User");
            assessmentHeaderModel.AssessmentEvent.TransactionId.ShouldBe(4);
            assessmentHeaderModel.AssessmentEvent.Note.ShouldBeNull();
            assessmentHeaderModel.AssessmentEvent.ReferenceNumber.ShouldBeNull();
            assessmentHeaderModel.AssessmentEvent.ChangeReason.ShouldBeNull();
            assessmentHeaderModel.AssessmentEvent.RevenueAndTaxCode.ShouldBe("Test Statuatory Reference");
            assessmentHeaderModel.AssessmentEvent.PrimaryBaseYear.ShouldBe(assessmentEventDto.PrimaryBaseYear);
            assessmentHeaderModel.AssessmentEvent.PrimaryBaseYearMultipleOrSingleDescription.ShouldBe(assessmentEventDto.PrimaryBaseYearMultipleOrSingleDescription);
            assessmentHeaderModel.RevenueObject.TAG.ShouldBe(tagDto.Description);
            assessmentHeaderModel.RevenueObject.Id.ShouldBe(333);
            assessmentHeaderModel.RevenueObject.Ain.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.AreaCd.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.BeginEffectiveDate.ShouldBe(DateTime.MinValue);
            assessmentHeaderModel.RevenueObject.CensusBlock.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.CensusTrack.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.ClassCd.ShouldBe(0);
            assessmentHeaderModel.RevenueObject.ClassCodeDescription.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.CountyCd.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.Description.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.EffectiveStatus.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.GeoCd.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.Pin.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.PropertyType.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.RelatedPins.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.RevenueCode.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.RightDescription.ShouldBe(0);
            assessmentHeaderModel.RevenueObject.RightEstate.ShouldBe(0);
            assessmentHeaderModel.RevenueObject.RightType.ShouldBe(0);
            assessmentHeaderModel.RevenueObject.SitusAddress.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.SubType.ShouldBe(0);
            assessmentHeaderModel.RevenueObject.TaxCode.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.Type.ShouldBe(0);
            assessmentHeaderModel.RevenueObject.UnformattedPin.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.XCoordinate.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.YCoordinate.ShouldBeNull();
            assessmentHeaderModel.RevenueObject.ZCoordinate.ShouldBeNull();
            assessmentHeaderModel.LegalParty.DisplayName.ShouldBe(primeLegalPartyDisplayName);
            assessmentHeaderModel.LegalParty.LegalPartyId.ShouldBe(100);
            assessmentHeaderModel.LegalParty.FirstName.ShouldBe(firstName);
            assessmentHeaderModel.LegalParty.MiddleName.ShouldBe(middleName);
            assessmentHeaderModel.LegalParty.LastName.ShouldBe(lastName);
            assessmentHeaderModel.LegalParty.NameSfx.ShouldBe(nameSfx);
            assessmentHeaderModel.LegalParty.RevenueAcct.ShouldBe(0);
            assessmentHeaderModel.LegalParty.LegalPartyRoleObjectType.ShouldBe(legalPartyRoleObjectType);
        }