Esempio n. 1
0
        public When_OpportunityService_Is_Called_To_Update_Opportunity_Item()
        {
            var config = new MapperConfiguration(c => c.AddMaps(typeof(OpportunityMapper).Assembly));
            var mapper = new Mapper(config);

            var opportunityRepository = Substitute.For <IOpportunityRepository>();

            _opportunityItemRepository = Substitute.For <IRepository <OpportunityItem> >();
            var provisionGapRepository          = Substitute.For <IRepository <ProvisionGap> >();
            var referralRepository              = Substitute.For <IRepository <Domain.Models.Referral> >();
            var googleMapApiClient              = Substitute.For <IGoogleMapApiClient>();
            var opportunityPipelineReportWriter = Substitute.For <IFileWriter <OpportunityReportDto> >();
            var dateTimeProvider = Substitute.For <IDateTimeProvider>();

            _opportunityItemRepository
            .GetSingleOrDefaultAsync(Arg.Any <Expression <Func <OpportunityItem, bool> > >())
            .Returns(new OpportunityItemBuilder().Build());

            var opportunityService = new OpportunityService(mapper, opportunityRepository, _opportunityItemRepository, provisionGapRepository,
                                                            referralRepository, googleMapApiClient,
                                                            opportunityPipelineReportWriter, dateTimeProvider);

            var dto = new ProviderSearchDto
            {
                OpportunityId     = OpportunityId,
                OpportunityItemId = OpportunityItemId,
                RouteId           = 1,
                SearchRadius      = 10,
                Postcode          = "OX1 1AA"
            };

            opportunityService.UpdateOpportunityItemAsync(dto).GetAwaiter().GetResult();
        }
        public When_OpportunityService_Is_Called_To_Save_PlacementInformation_With_Empty_Job_Title()
        {
            var config = new MapperConfiguration(c => c.AddMaps(typeof(OpportunityMapper).Assembly));
            var mapper = new Mapper(config);

            _opportunityItemRepository = Substitute.For <IRepository <OpportunityItem> >();
            var opportunityRepository           = Substitute.For <IOpportunityRepository>();
            var provisionGapRepository          = Substitute.For <IRepository <ProvisionGap> >();
            var referralRepository              = Substitute.For <IRepository <Domain.Models.Referral> >();
            var googleMapApiClient              = Substitute.For <IGoogleMapApiClient>();
            var opportunityPipelineReportWriter = Substitute.For <IFileWriter <OpportunityReportDto> >();
            var dateTimeProvider = Substitute.For <IDateTimeProvider>();

            var opportunityItem = new OpportunityItem {
                Id = OpportunityItemId, Postcode = Postcode, SearchRadius = Distance, RouteId = RouteId
            };

            _opportunityItemRepository.GetSingleOrDefaultAsync(Arg.Any <Expression <Func <OpportunityItem, bool> > >()).Returns(opportunityItem);

            var opportunityService = new OpportunityService(mapper, opportunityRepository, _opportunityItemRepository,
                                                            provisionGapRepository, referralRepository, googleMapApiClient,
                                                            opportunityPipelineReportWriter, dateTimeProvider);

            var dto = new PlacementInformationSaveDto
            {
                OpportunityItemId = OpportunityItemId,
                JobRole           = JobRole,
                PlacementsKnown   = PlacementsKnown,
                Placements        = Placements
            };

            opportunityService.UpdateOpportunityItemAsync(dto).GetAwaiter().GetResult();
        }