public override void Given() { SeedTlevelTestData(); SeedNotificationTestData(); CreateMapper(); _verifyTlevelDetailsModel = new VerifyTlevelDetails { TqAwardingOrganisationId = _tqAwardingOrganisation.Id, PathwayStatusId = (int)TlevelReviewStatus.Queried, Query = "test", QueriedUserEmail = "*****@*****.**" }; _resultsAndCertificationConfiguration = new ResultsAndCertificationConfiguration { TlevelQueriedSupportEmailAddress = "*****@*****.**" }; _notificationsClient = Substitute.For <IAsyncNotificationClient>(); _notificationLogger = Substitute.For <ILogger <NotificationService> >(); _notificationTemplateRepository = Substitute.For <ILogger <GenericRepository <NotificationTemplate> > >(); IRepository <NotificationTemplate> notificationTemplateRepository = new GenericRepository <NotificationTemplate>(_notificationTemplateRepository, DbContext); _notificationService = new NotificationService(notificationTemplateRepository, _notificationsClient, _notificationLogger); _logger = Substitute.For <ILogger <IRepository <TqAwardingOrganisation> > >(); _service = new AwardingOrganisationService(_resultsAndCertificationConfiguration, Repository, _notificationService, _mapper, _logger); }
public async Task <bool> VerifyTlevelAsync(VerifyTlevelDetails model) { var tqAwardingOrganisation = await _awardingOrganisationRepository .GetSingleOrDefaultAsync(p => p.Id == model.TqAwardingOrganisationId, navigationPropertyPath : new Expression <Func <TqAwardingOrganisation, object> >[] { p => p.TlPathway }); if (tqAwardingOrganisation == null) { return(false); } tqAwardingOrganisation = _mapper.Map(model, tqAwardingOrganisation); if (model.PathwayStatusId == (int)TlevelReviewStatus.Queried && !string.IsNullOrWhiteSpace(model.Query)) { var hasEmailSent = await SendEmailAsync(model, tqAwardingOrganisation); if (!hasEmailSent) { return(false); } } return(await _awardingOrganisationRepository.UpdateAsync(tqAwardingOrganisation) > 0); }
private async Task <bool> SendEmailAsync(VerifyTlevelDetails model, TqAwardingOrganisation tqAwardingOrganisation) { var tokens = new Dictionary <string, dynamic> { { "tlevel_name", tqAwardingOrganisation.TlPathway.TlevelTitle }, { "user_comments", model.Query }, { "sender_name", model.ModifiedBy }, { "sender_email_address", model.QueriedUserEmail } }; return(await _notificationService.SendEmailNotificationAsync(NotificationTemplateName.TlevelDetailsQueried.ToString(), _resultsAndCertificationConfiguration.TlevelQueriedSupportEmailAddress, tokens)); }
public override void Given() { SeedTlevelTestData(); CreateMapper(); _verifyTlevelDetailsModel = new VerifyTlevelDetails { TqAwardingOrganisationId = 0, PathwayStatusId = (int)TlevelReviewStatus.Confirmed, ModifiedBy = "TestUser" }; _logger = Substitute.For <ILogger <IRepository <TqAwardingOrganisation> > >(); _service = new AwardingOrganisationService(_resultsAndCertificationConfiguration, Repository, null, _mapper, _logger); }
public override void Given() { ExpectedResult = true; TlevelQueryViewModel = new TlevelQueryViewModel { PathwayId = PathwayId, TqAwardingOrganisationId = PathwayId }; VerifyTlevelDetails = new VerifyTlevelDetails { Id = PathwayId, TqAwardingOrganisationId = PathwayId, PathwayStatusId = StatusId }; Mapper.Map <VerifyTlevelDetails>(TlevelQueryViewModel).Returns(VerifyTlevelDetails); InternalApiClient.VerifyTlevelAsync(VerifyTlevelDetails).Returns(ExpectedResult); Loader = new TlevelLoader(InternalApiClient, Mapper); }
public override void Setup() { _tokenServiceClient = Substitute.For <ITokenServiceClient>(); _configuration = new ResultsAndCertificationConfiguration { ResultsAndCertificationInternalApiSettings = new ResultsAndCertificationInternalApiSettings { Uri = "http://tlevel.api.com" } }; _mockHttpResult = true; _model = new VerifyTlevelDetails { TqAwardingOrganisationId = 1, PathwayStatusId = 2, ModifiedBy = "Test User" }; }
public override void Given() { _httpContextAccessor = Substitute.For <IHttpContextAccessor>(); _httpContextAccessor.HttpContext.Returns(new DefaultHttpContext { User = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.GivenName, _givename), new Claim(ClaimTypes.Surname, _surname), new Claim(ClaimTypes.Email, _email) })) }); CreateMapper(); StatusId = (int)TlevelReviewStatus.Queried; TlevelQueryViewModel = new TlevelQueryViewModel { PathwayId = PathwayId, TqAwardingOrganisationId = PathwayId, Query = "Details Queried" }; VerifyTlevelDetails = new VerifyTlevelDetails { Id = PathwayId, TqAwardingOrganisationId = PathwayId, PathwayStatusId = StatusId }; InternalApiClient.VerifyTlevelAsync(VerifyTlevelDetails).Returns(ExpectedResult); Loader = new TlevelLoader(InternalApiClient, Mapper); }
public async Task <bool> VerifyTlevelAsync(VerifyTlevelDetails model) { var requestUri = ApiConstants.VerifyTlevelUri; return(await PutAsync <VerifyTlevelDetails, bool>(requestUri, model)); }
public async Task <IActionResult> VerifyTlevelAsync(VerifyTlevelDetails model) { var result = await _awardingOrganisationService.VerifyTlevelAsync(model); return(Ok(result)); }