public When_OpportunityService_Is_Called_To_Get_Placement_Information_With_Provision_Gap()
        {
            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>();

            var dto = new OpportunityItemBuilder()
                      .AddProvisionGap()
                      .AddEmployer()
                      .Build();

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

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

            _result = opportunityService.GetPlacementInformationAsync(1)
                      .GetAwaiter().GetResult();
        }