public async Task <OpportunityDto> GetOpportunityAsync(int opportunityId) { var opportunity = await _opportunityRepository.GetSingleOrDefaultAsync(o => o.Id == opportunityId, navigationPropertyPath : o => o.Employer); var dto = _mapper.Map <OpportunityDto>(opportunity); return(dto); }
public async Task <FindEmployerViewModel> GetOpportunityEmployerAsync(int opportunityId, int opportunityItemId) { return(await _opportunityRepository.GetSingleOrDefaultAsync( o => o.Id == opportunityId, o => new FindEmployerViewModel { OpportunityItemId = opportunityItemId, OpportunityId = opportunityId, CompanyName = o.Employer.CompanyName, PreviousCompanyName = o.Employer.CompanyName, AlsoKnownAs = o.Employer.AlsoKnownAs, SelectedEmployerCrmId = o.EmployerCrmId ?? Guid.Empty, })); }
public When_OpportunityService_Is_Called_To_Save_EmployerDetail() { var config = new MapperConfiguration(c => c.AddMaps(typeof(OpportunityMapper).Assembly)); var mapper = new Mapper(config); _opportunityRepository = Substitute.For <IOpportunityRepository>(); var 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>(); _opportunityRepository.GetSingleOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.Opportunity, bool> > >()).Returns(new Domain.Models.Opportunity { Id = OpportunityId }); var opportunityService = new OpportunityService(mapper, _opportunityRepository, opportunityItemRepository, provisionGapRepository, referralRepository, googleMapApiClient, opportunityPipelineReportWriter, dateTimeProvider); var dto = new EmployerDetailDto { OpportunityId = OpportunityId, PrimaryContact = Contact, Email = ContactEmail, Phone = ContactPhone, ModifiedBy = ModifiedBy }; opportunityService.UpdateOpportunityAsync(dto).GetAwaiter().GetResult(); }
public When_OpportunityService_Is_Called_To_Get_Company_Name_With_Aka_And_Employer_Is_Null() { var config = new MapperConfiguration(c => c.AddMaps(typeof(OpportunityMapper).Assembly)); var mapper = new Mapper(config); _opportunityRepository = Substitute.For <IOpportunityRepository>(); var 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 opportunity = new Domain.Models.Opportunity { Id = 1, Employer = null }; _opportunityRepository.GetSingleOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.Opportunity, bool> > >(), Arg.Any <Expression <Func <Domain.Models.Opportunity, object> > >()) .Returns(opportunity); var opportunityService = new OpportunityService(mapper, _opportunityRepository, opportunityItemRepository, provisionGapRepository, referralRepository, googleMapApiClient, opportunityPipelineReportWriter, dateTimeProvider); _result = opportunityService.GetCompanyNameWithAkaAsync(1).GetAwaiter().GetResult(); }
public When_EmployerService_Is_Called_To_Get_Opportunity_Employer() { var employerRepository = Substitute.For <IRepository <Domain.Models.Employer> >(); _opportunityRepository = Substitute.For <IOpportunityRepository>(); _opportunityRepository.GetSingleOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.Opportunity, bool> > >(), Arg.Any <Expression <Func <Domain.Models.Opportunity, FindEmployerViewModel> > >()) .Returns(new FindEmployerViewModelBuilder().BuildWithEmployer()); var employerService = new EmployerService(employerRepository, _opportunityRepository, Substitute.For <IMapper>(), Substitute.For <IValidator <CrmEmployerEventBase> >(), Substitute.For <IMessageQueueService>()); _result = employerService.GetOpportunityEmployerAsync(1, 2).GetAwaiter().GetResult(); }