public void SetUp()
        {
            _mockLogger = new Mock <ILogger <StartCertificateHandler> >();
            _mockCertificateRepository       = new Mock <ICertificateRepository>();
            _mockLearnerRepository           = new Mock <ILearnerRepository>();
            _mockProvidersRepository         = new Mock <IProvidersRepository>();
            _mockOrganisationQueryRepository = new Mock <IOrganisationQueryRepository>();
            _mockStandardService             = new Mock <IStandardService>();

            _sut = new StartCertificateHandler(_mockCertificateRepository.Object, _mockLearnerRepository.Object, _mockProvidersRepository.Object,
                                               _mockOrganisationQueryRepository.Object, _mockLogger.Object, _mockStandardService.Object);
        }
Esempio n. 2
0
        public void Arrange()
        {
            var organisationQueryRepository = new Mock <IOrganisationQueryRepository>();

            _organisationId = Guid.NewGuid();
            organisationQueryRepository.Setup(r => r.GetByUkPrn(88888888)).ReturnsAsync(new Organisation()
            {
                Id = _organisationId
            });


            _certificateRepository = new Mock <ICertificateRepository>();

            _certificateData = Builder <CertificateData> .CreateNew()
                               .With(ecd => ecd.LearnerGivenNames = "Dave")
                               .With(ecd => ecd.LearnerFamilyName = "Smith")
                               .With(ecd => ecd.LearningStartDate = new DateTime(2016, 01, 09))
                               .Build();

            _certificateRepository.Setup(r => r.GetCertificate(1111111111, 30)).ReturnsAsync(new Certificate()
            {
                CertificateReferenceId = 10000,
                Status          = CertificateStatus.Deleted,
                CertificateData = JsonConvert.SerializeObject(_certificateData)
            });

            _certificateRepository.Setup(r => r.Update(It.IsAny <Certificate>(), It.IsAny <string>(), It.IsAny <string>(),
                                                       It.IsAny <bool>(), It.IsAny <string>())).ReturnsAsync(new Certificate()
            {
                CertificateReferenceId = 10000,
                Status          = CertificateStatus.Deleted,
                OrganisationId  = _organisationId,
                CertificateData = JsonConvert.SerializeObject(_certificateData)
            });

            var learnerRepository = new Mock <ILearnerRepository>();

            learnerRepository.Setup(r => r.Get(1111111111, 30)).ReturnsAsync(new Domain.Entities.Learner()
            {
                GivenNames     = "Dave",
                FamilyName     = "Smith",
                StdCode        = 30,
                LearnStartDate = new DateTime(2016, 01, 09),
                UkPrn          = 12345678
            });

            var standardService = new Mock <IStandardService>();

            standardService.Setup(s => s.GetStandardVersionsByLarsCode(30)).ReturnsAsync(new[] { new Standard {
                                                                                                     Title = "Standard Title"
                                                                                                 } });

            var mockProvidersRepository = new Mock <IProvidersRepository>();

            mockProvidersRepository.Setup(m => m.GetProvider(12345678)).ReturnsAsync(new Provider()
            {
                Ukprn = 12345678, Name = "Test Provider Name"
            });

            _startCertificateHandler = new StartCertificateHandler(_certificateRepository.Object,
                                                                   learnerRepository.Object, mockProvidersRepository.Object,
                                                                   organisationQueryRepository.Object, new Mock <ILogger <StartCertificateHandler> >().Object, standardService.Object);

            _returnedCertificate = _startCertificateHandler
                                   .Handle(
                new StartCertificateRequest()
            {
                StandardCode = 30,
                UkPrn        = 88888888,
                Uln          = 1111111111,
                Username     = "******"
            }, new CancellationToken()).Result;
        }
        public void Arrange()
        {
            _certificateRepository = new Mock <ICertificateRepository>();
            _certificateRepository.Setup(r => r.GetCertificate(1111111111, 30)).ReturnsAsync(default(Certificate));

            _certificateRepository.Setup(r => r.New(It.IsAny <Certificate>()))
            .ReturnsAsync(new Certificate()
            {
                CertificateReferenceId = 10000
            });

            var ilrRepository = new Mock <IIlrRepository>();

            ilrRepository.Setup(r => r.Get(1111111111, 30)).ReturnsAsync(new Ilr()
            {
                GivenNames     = "Dave",
                FamilyName     = "Smith",
                StdCode        = 30,
                LearnStartDate = new DateTime(2016, 01, 09),
                UkPrn          = 12345678
            });

            var organisationQueryRepository = new Mock <IOrganisationQueryRepository>();

            _organisationId = Guid.NewGuid();

            organisationQueryRepository.Setup(r => r.GetByUkPrn(88888888)).ReturnsAsync(new Organisation()
            {
                Id = _organisationId
            });

            var assessmentOrgsApiClient = new Mock <IAssessmentOrgsApiClient>();
            var standardService         = new Mock <IStandardService>();

            standardService.Setup(c => c.GetStandard(30))
            .ReturnsAsync(new StandardCollation()
            {
                Title        = "Standard Name",
                StandardData = new StandardData
                {
                    EffectiveFrom = new DateTime(2016, 09, 01)
                }
            });
            assessmentOrgsApiClient.Setup(c => c.GetProvider(It.IsAny <long>()))
            .ReturnsAsync(new Provider {
                ProviderName = "A Provider"
            });

            _startCertificateHandler = new StartCertificateHandler(_certificateRepository.Object,
                                                                   ilrRepository.Object, assessmentOrgsApiClient.Object,
                                                                   organisationQueryRepository.Object, new Mock <ILogger <StartCertificateHandler> >().Object, standardService.Object);

            _returnedCertificate = _startCertificateHandler
                                   .Handle(
                new StartCertificateRequest()
            {
                StandardCode = 30,
                UkPrn        = 88888888,
                Uln          = 1111111111,
                Username     = "******"
            }, new CancellationToken()).Result;
        }