public GenericRepository(ILogger <GenericRepository <T> > logger, MatchingDbContext dbContext) { _logger = logger; _dbContext = dbContext; }
public OpportunityRepository(ILogger <OpportunityRepository> logger, MatchingDbContext dbContext) : base(logger, dbContext) { }
public async Task Then_Send_Email_And_Save_Email_History_And_Update_Email_History_If_Status_Is_Null( string status, MatchingConfiguration configuration, [Frozen] MatchingDbContext dbContext, IAsyncNotificationClient notificationClient, ILogger <GenericRepository <EmailTemplate> > emailTemplateLogger, ILogger <GenericRepository <EmailHistory> > emailHistoryLogger, ILogger <GenericRepository <FunctionLog> > functionLogLogger, ILogger <EmailService> emailServiceLogger, [Frozen] Domain.Models.Opportunity opportunity, [Frozen] OpportunityItem opportunityItem, [Frozen] Domain.Models.Provider provider, [Frozen] Domain.Models.ProviderVenue venue, [Frozen] BackgroundProcessHistory backgroundProcessHistory, [Frozen] EmailHistory emailHistory, [Frozen] EmailTemplate emailTemplate, [Frozen] EmailNotificationResponse emailNotificationResponse, EmailDeliveryStatusPayLoad payLoad ) { //Arrange Guid.TryParse(emailNotificationResponse.id, out var notificationId); payLoad.Status = status; payLoad.Id = notificationId; var(templateRepository, emailHistoryRepository, functionLogRepository, mapper) = SetUp(dbContext, emailTemplateLogger, emailHistoryLogger, functionLogLogger); var sut = new EmailService(configuration, notificationClient, templateRepository, emailHistoryRepository, functionLogRepository, mapper, emailServiceLogger); var tokens = new Dictionary <string, string> { { "contactname", "name" } }; notificationClient.SendEmailAsync(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <Dictionary <string, dynamic> >()).Returns(Task.FromResult(emailNotificationResponse)); await DataBuilder.SetTestData(dbContext, provider, venue, opportunity, backgroundProcessHistory); await DataBuilder.SetEmailTemplate(dbContext, emailTemplate); //Act await sut.SendEmailAsync(emailTemplate.TemplateName, "*****@*****.**", opportunity.Id, opportunityItem.Id, tokens, "System"); //Assert var data = dbContext.EmailHistory.AsNoTracking().FirstOrDefault(x => x.NotificationId == notificationId); data.Should().NotBeNull(); data?.EmailTemplateId.Should().Be(emailHistory.EmailTemplateId); data?.NotificationId.Should().Be(emailNotificationResponse.id); data?.CreatedBy.Should().Be("System"); data?.Status.Should().BeNullOrEmpty(); data?.ModifiedBy.Should().BeNullOrEmpty(); data?.ModifiedOn.Should().BeNull(); dbContext.DetachAllEntities(); //Act - Update Email With Status await sut.UpdateEmailStatus(payLoad); data = dbContext.EmailHistory.AsNoTracking().FirstOrDefault(x => x.NotificationId == notificationId); data.Should().NotBeNull(); data?.EmailTemplateId.Should().Be(emailHistory.EmailTemplateId); data?.Status.Should().NotBeNullOrEmpty(); data?.Status.Should().Be(payLoad.Status); data?.NotificationId.Should().Be(emailNotificationResponse.id); data?.CreatedBy.Should().Be("System"); data?.ModifiedBy.Should().Be("System"); }
public QualificationRouteMappingRepository(ILogger <QualificationRouteMappingRepository> logger, MatchingDbContext dbContext) : base(logger, dbContext) { }
public ProviderVenueRepository(ILogger <ProviderVenueRepository> logger, MatchingDbContext dbContext) : base(logger, dbContext) { }
public SqlSearchProvider(ILogger <SqlSearchProvider> logger, MatchingDbContext matchingDbContext) { _logger = logger; _matchingDbContext = matchingDbContext; }
public LocalEnterprisePartnershipBuilder(MatchingDbContext context) { _context = context; }
public async Task Then_Make_TLevel_Provider_Flag_To_True( MatchingDbContext dbContext, Domain.Models.Provider provider, List <ProviderVenueViewModel> venueViewModels, MatchingConfiguration config, ILogger <GenericRepository <Domain.Models.Provider> > providerLogger, ILogger <GenericRepository <ProviderReference> > providerReferenceLogger, IHttpContextAccessor httpContextAccessor, IDateTimeProvider dateTimeProvider ) { //Arrange provider.IsTLevelProvider = false; await dbContext.AddAsync(provider); await dbContext.SaveChangesAsync(); dbContext.Entry(provider).State = EntityState.Detached; var viewModel = new ProviderDetailViewModel { Id = provider.Id, IsTLevelProvider = true, ProviderVenues = venueViewModels }; httpContextAccessor.HttpContext.Returns(new DefaultHttpContext { User = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.GivenName, "System") })) }); var mapperConfig = new MapperConfiguration(c => { c.AddMaps(typeof(ProviderMapper).Assembly); c.ConstructServicesUsing(type => type.Name.Contains("LoggedInUserNameResolver") ? (object)new LoggedInUserNameResolver <ProviderDetailViewModel, Domain.Models.Provider>(httpContextAccessor) : type.Name.Contains("UtcNowResolver") ? new UtcNowResolver <ProviderDetailViewModel, Domain.Models.Provider>(dateTimeProvider) : null); }); var mapper = new Mapper(mapperConfig); var providerReferenceRepo = new GenericRepository <ProviderReference>(providerReferenceLogger, dbContext); var repo = new GenericRepository <Domain.Models.Provider>(providerLogger, dbContext); var providerService = new ProviderService(mapper, repo, providerReferenceRepo); var sut = new ProviderController(providerService, config); //Act await sut.SaveProviderDetailAsync(viewModel); //Assert var result = await repo.GetSingleOrDefaultAsync(x => x.Id == provider.Id); provider.IsTLevelProvider.Should().BeFalse(); result.IsTLevelProvider.Should().BeTrue(); }
public PostcodeLookupBuilder(MatchingDbContext context) { _context = context; }
public EmployerBuilder(MatchingDbContext context) { _context = context; }