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);
        }
コード例 #2
0
        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);
        }
コード例 #3
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));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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));
        }