Beispiel #1
0
 public IHttpActionResult GetAll([FromUri] DealSearchCriteria criteria)
 {
     if (criteria == null)
     {
         criteria = new DealSearchCriteria();
     }
     return(this.GetResponse(EntityManager.GetAllDealStatusSummaries(criteria.ToSearchCriteria())));
 }
        public void DealManager_Search_ShouldCall_RepositorySearch(DealSearchCriteria dealSearchCriteria)
        {
            // Arrange

            Mock <IDealRepository>           dealRepository           = new Mock <IDealRepository>();
            Mock <IWorkbenchDealsRepository> workbenchDealsRepository = new Mock <IWorkbenchDealsRepository>();
            Mock <ITblDealRepository>        tblDealRepository        = new Mock <ITblDealRepository>();
            Mock <ICedantManager>            cedantManager            = SetupCedant();

            if (dealSearchCriteria.GlobalReData)
            {
                SetupDealRepository(dealRepository);
            }
            else
            {
                SetupWorkbenchDealsRepository(workbenchDealsRepository);
            }

            //SetupDealStatusesLookupRepository(out Mock<IDealStatusesLookupRepository> dealStatusesLookupRepository);
            SetupDealStatusesLookupManager(out Mock <IDealStatusesLookupManager> dealStatusesLookupManager);

            DealManager dealManager = new DealManager(userManager.Object, cacheStoreManager, mockLogManager.Object, dealRepository.Object, workbenchDealsRepository.Object, tblDealRepository.Object, dealStatusesLookupManager.Object, dealLockManager.Object, transformationManager, cedantManager.Object, new Mock <IBrokerManager>().Object, new Mock <ITblClausesDealRepository>().Object);

            //Act
            IPaginatedList <BLL_Deal> actual = dealManager.Search(dealSearchCriteria.ToSearchCriteria());

            int expectedTotalRecordCount = 1;

            //Assert
            if (dealSearchCriteria.GlobalReData)
            {
                dealRepository.Verify(p => p.Search(It.IsAny <SearchCriteria>()));
            }
            else
            {
                workbenchDealsRepository.Verify(p => p.Search(It.IsAny <SearchCriteria>()));
            }

            Assert.AreEqual(expectedTotalRecordCount, actual.TotalRecordCount);
        }
        public void DealStatusSummariesManager_GetAllDealStatusSummaries_Returns_ExpectedCount(DealSearchCriteria criteria)
        {
            #region Arrange

            SetupUserIdentity();

            //Create mock repository
            var dealStatusSummariesRepository = new Mock <IDealStatusSummariesRepository>();

            //Build response
            IList <Data.Models.grs_PrGetGrsDealCountByStatus> dealDbData = GetDealDbData();


            // Search method
            dealStatusSummariesRepository.Setup(p => p.GetAllDealStatusSummaries(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(dealDbData);
            dealStatusSummariesRepository.Setup(p => p.ValidPerson(It.IsAny <int>()))
            .Returns(true);

            dealStatusSummariesRepository.Setup(x => x.GetGlobalReExposureTree()).Returns(new List <grs_VExposureTreeExt> {
                new grs_VExposureTreeExt
                {
                    SubdivisionCode   = 1,
                    SubdivisionName   = "Casualty",
                    ProductLineCode   = 1001,
                    ProductLineName   = "Auto Reins",
                    ExposureGroupCode = 59,
                    ExposureGroupName = "CA - Auto - Commercial",
                    ExposureTypeCode  = 5916,
                    ExposureTypeName  = "CA - Auto - Commercial - Non Trucking"
                },
                new grs_VExposureTreeExt
                {
                    SubdivisionCode   = 2,
                    SubdivisionName   = "Casualty",
                    ProductLineCode   = 1001,
                    ProductLineName   = "Auto Reins",
                    ExposureGroupCode = 59,
                    ExposureGroupName = "CA - Auto - Commercial",
                    ExposureTypeCode  = 5922,
                    ExposureTypeName  = "CA - Auto - Commercial - Non Trucking"
                }
            });

            //Manager
            DealStatusSummariesManager dealStatusSummariesManager = new DealStatusSummariesManager(userManager.Object, cacheStoreManager, mockLogManager.Object, dealStatusSummariesRepository.Object, transformationManager);

            #endregion

            #region Act

            EntityResult <IEnumerable <BLL_DealStatusSummary> > actual = dealStatusSummariesManager.GetAllDealStatusSummaries(criteria.ToSearchCriteria());

            #endregion

            #region Assert

            int expectedCount = 2;
            Assert.AreEqual(expectedCount, actual.Data.Count());

            #endregion
        }
        public void DealStatusSummariesController_Get_Returns_OKResponseCode(DealSearchCriteria criteria)
        {
            #region Arrange

            SetupUserIdentity();

            //Create mock repository
            var dealStatusSummariesRepository = new Mock <IDealStatusSummariesRepository>();

            //Build response
            IList <Data.Models.grs_PrGetGrsDealCountByStatus> dealDbData = new List <Data.Models.grs_PrGetGrsDealCountByStatus>
            {
                new Data.Models.grs_PrGetGrsDealCountByStatus
                {
                    StatusGroup          = 3,
                    StatusGroupName      = "Bound - Pending Actions",
                    StatusGroupSortOrder = 3,
                    StatusCode           = 1000,
                    StatusName           = "Bound - Pending Actions",
                    StatusSortOrder      = 1,
                    Count        = 1578,
                    WorkflowID   = 1,
                    WorkflowName = "Default"
                }
            };


            // Search method
            dealStatusSummariesRepository.Setup(p => p.GetAllDealStatusSummaries(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(dealDbData);
            dealStatusSummariesRepository.Setup(p => p.ValidPerson(It.IsAny <int>()))
            .Returns(true);
            dealStatusSummariesRepository.Setup(x => x.GetGlobalReExposureTree()).Returns(new List <grs_VExposureTreeExt> {
                new grs_VExposureTreeExt
                {
                    SubdivisionCode   = 1,
                    SubdivisionName   = "Casualty",
                    ProductLineCode   = 1001,
                    ProductLineName   = "Auto Reins",
                    ExposureGroupCode = 59,
                    ExposureGroupName = "CA - Auto - Commercial",
                    ExposureTypeCode  = 5916,
                    ExposureTypeName  = "CA - Auto - Commercial - Non Trucking"
                },
                new grs_VExposureTreeExt
                {
                    SubdivisionCode   = 2,
                    SubdivisionName   = "Casualty",
                    ProductLineCode   = 1001,
                    ProductLineName   = "Auto Reins",
                    ExposureGroupCode = 59,
                    ExposureGroupName = "CA - Auto - Commercial",
                    ExposureTypeCode  = 5922,
                    ExposureTypeName  = "CA - Auto - Commercial - Non Trucking"
                }
            });
            //Manager
            DealStatusSummariesManager dealStatusSummariesManager = new DealStatusSummariesManager(userManager.Object, cacheStoreManager, mockLogManager.Object, dealStatusSummariesRepository.Object, transformationManager);

            var httpRequest = new HttpRequestMessage(new HttpMethod(AppSettings.HTTPGET), $"{AppSettings.BASEURL}{RouteHelper.DealStatusSummaryRoutePrefix}");

            DealAPIManager dealAPIManager = new DealAPIManager(userManager.Object, cacheStoreManager, mockLogManager.Object, dealStatusSummariesManager);

            DealStatusSummariesController dealStatusSummariesController = new DealStatusSummariesController(userManager.Object, dealAPIManager)
            {
                Request       = httpRequest,
                Configuration = new HttpConfiguration()
            };



            #endregion

            #region Act

            var response      = dealStatusSummariesController.GetAll(criteria);
            var contentResult = response as NegotiatedContentResult <ResponseCollection <DealStatusSummary> >;

            #endregion

            #region Assert

            #region Expected

            var expectedDealSummary = new DealStatusSummary
            {
                StatusCode   = 1000,
                StatusName   = "Bound - Pending Actions",
                SortOrder    = 3,
                Count        = 1578,
                WorkflowId   = 1,
                WorkflowName = "Default"
            };

            var expectedGetLink = new Link(LinkType.RelatedEntity, EntityType.Deals, $"v1/deals?statuscodes={expectedDealSummary.StatusCode}", HttpMethodType.GET);

            #endregion

            Assertions.AssertOkResponse(contentResult);

            var summaryData = contentResult.Content.results;

            for (int i = 0; i <= summaryData.Count - 1; i++)
            {
                //Data
                var actualDealSummary = summaryData[i].data;
                Assertions.AssertData(expectedDealSummary, actualDealSummary);

                //Links & Messages
                Assert.Multiple(() =>
                {
                    Assert.IsNotEmpty(summaryData[i].links);
                    Assert.AreEqual(1, summaryData[i].links.Count);
                    Assertions.AssertLink(expectedGetLink, summaryData[i].links[0]);
                });

                Assert.IsEmpty(summaryData[i].messages);
            }

            #endregion
        }