Beispiel #1
0
        public When_OpportunityProximity_Controller_Index_Is_Loaded_With_Opportunity()
        {
            var locationService             = Substitute.For <ILocationService>();
            var opportunityProximityService = Substitute.For <IOpportunityProximityService>();
            var routeService = Substitute.For <IRoutePathService>();

            _opportunityService = Substitute.For <IOpportunityService>();
            _opportunityService
            .GetCompanyNameWithAkaAsync(1)
            .Returns("CompanyName (AlsoKnownAs)");

            var opportunityProximityController = new OpportunityProximityController(routeService, opportunityProximityService, _opportunityService, locationService);

            _result = opportunityProximityController.Index(1).GetAwaiter().GetResult();
        }
        private async Task <SearchParametersViewModel> GetSearchParametersViewModelAsync(SearchParametersViewModel viewModel)
        {
            if (viewModel.OpportunityId > 0 && string.IsNullOrEmpty(viewModel.CompanyNameWithAka))
            {
                viewModel.CompanyNameWithAka = await _opportunityService.GetCompanyNameWithAkaAsync(viewModel.OpportunityId);
            }

            var routes = await _routePathService.GetRouteSelectListItemsAsync();

            return(new SearchParametersViewModel
            {
                RoutesSelectList = routes,
                SelectedRouteId = viewModel.SelectedRouteId,
                Postcode = viewModel.Postcode?.Trim(),
                OpportunityId = viewModel.OpportunityId,
                OpportunityItemId = viewModel.OpportunityItemId,
                CompanyNameWithAka = viewModel.CompanyNameWithAka,
                PreviousPostcode = viewModel.PreviousPostcode,
                PreviousSelectedRouteId = viewModel.PreviousSelectedRouteId,
                HasUserChangedSearchParameters = viewModel.HasUserChangedSearchParameters
            });
        }
        public When_OpportunityProximity_Controller_Results_Is_Loaded_With_Existing_Opportunity()
        {
            var providerSearchResultDto = new List <OpportunityProximitySearchResultViewModelItem>
            {
                new OpportunityProximitySearchResultViewModelItem
                {
                    ProviderVenuePostcode = Postcode,
                    Distance            = 1.5d,
                    ProviderVenueId     = ProviderVenueId,
                    ProviderVenueName   = ProviderVenueDisplayName,
                    ProviderDisplayName = ProviderDisplayName
                }
            };

            var locationService = Substitute.For <ILocationService>();

            locationService.IsValidPostcodeAsync(Arg.Any <string>()).Returns((true, Postcode));

            var routeService = Substitute.For <IRoutePathService>();

            routeService.GetRouteIdsAsync().Returns(new List <int> {
                1, 2
            });

            _opportunityProximityService = Substitute.For <IOpportunityProximityService>();
            _opportunityProximityService
            .SearchOpportunitiesByPostcodeProximityAsync(Arg.Is <OpportunityProximitySearchParametersDto>(a =>
                                                                                                          a.Postcode == Postcode &&
                                                                                                          a.SelectedRouteId == RouteId))
            .Returns(providerSearchResultDto);

            _opportunityService = Substitute.For <IOpportunityService>();
            _opportunityService.GetOpportunityItemAsync(OpportunityItemId)
            .Returns(new OpportunityItemDto
            {
                OpportunityId     = OpportunityId,
                OpportunityItemId = OpportunityItemId,
                Postcode          = Postcode,
                RouteId           = RouteId
            });

            _opportunityService.GetReferralsAsync(OpportunityItemId).Returns(new List <ReferralDto>
            {
                new ReferralDto
                {
                    ProviderVenueId = ProviderVenueId,
                    Name            = "Referral"
                }
            });

            _opportunityService
            .GetCompanyNameWithAkaAsync(OpportunityId)
            .Returns("CompanyName (AlsoKnownAs)");

            var opportunityProximityController = new OpportunityProximityController(routeService, _opportunityProximityService, _opportunityService, locationService);

            _result = opportunityProximityController.GetOpportunityProviderResultsAsync(new SearchParametersViewModel
            {
                SelectedRouteId   = RouteId,
                Postcode          = Postcode,
                OpportunityId     = OpportunityId,
                OpportunityItemId = OpportunityItemId
            }).GetAwaiter().GetResult();
        }