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(); }