public void SetUp()
        {
            _currentDateTime = new Mock <ICurrentDateTime>();
            _currentDateTime.Setup(x => x.Now).Returns(new DateTime(2018, 1, 1));

            _mockMediator = new Mock <IMediator>();
            _mockMediator.Setup(m => m.SendAsync(It.IsAny <GetApprenticeshipsRequest>()))
            .ReturnsAsync(new GetApprenticeshipsResponse
            {
                Apprenticeships = new List <Domain.Entities.Apprenticeship>()
            });

            _employerOrchestrator = new EmployerOrchestrator(_mockMediator.Object, Mock.Of <ICommitmentsLogger>(),
                                                             new FacetMapper(_currentDateTime.Object),
                                                             new ApprenticeshipFilterService(new FacetMapper(_currentDateTime.Object)), new ApprenticeshipMapper(),
                                                             Mock.Of <ICommitmentMapper>(), Mock.Of <ITransferRequestMapper>(), Mock.Of <IHashingService>());

            _apprenticeshipsOrchestrator = new ApprenticeshipsOrchestrator(
                _mockMediator.Object,
                Mock.Of <IDataLockMapper>(),
                Mock.Of <IApprenticeshipMapper>(),
                Mock.Of <ICommitmentsLogger>());

            _controller = new EmployerController(_employerOrchestrator, _apprenticeshipsOrchestrator);
        }
Exemplo n.º 2
0
        public void SetUp()
        {
            MockMediator             = new Mock <IMediator>();
            MockDataLockMapper       = new Mock <IDataLockMapper>();
            MockApprenticeshipMapper = new Mock <IApprenticeshipMapper>();
            Orchestrator             = new ApprenticeshipsOrchestrator(
                MockMediator.Object,
                MockDataLockMapper.Object,
                MockApprenticeshipMapper.Object,
                Mock.Of <ICommitmentsLogger>());

            MockMediator.Setup(m => m.SendAsync(It.IsAny <GetApprenticeshipsRequest>()))
            .ReturnsAsync(new GetApprenticeshipsResponse
            {
                Apprenticeships = new List <Domain.Entities.Apprenticeship>
                {
                    new Domain.Entities.Apprenticeship {
                        PaymentStatus = Domain.Entities.PaymentStatus.Active
                    },
                    new Domain.Entities.Apprenticeship {
                        PaymentStatus = Domain.Entities.PaymentStatus.PendingApproval
                    },
                    new Domain.Entities.Apprenticeship {
                        PaymentStatus = Domain.Entities.PaymentStatus.Paused
                    }
                }
            });
        }
        public void Setup()
        {
            _logger               = new Mock <ILog>();
            _mediator             = new Mock <IMediator>();
            _searchValidator      = new Mock <IValidator <ApprenticeshipSearchQuery> >();
            _apprenticeshipMapper = new Mock <IApprenticeshipMapper>();
            _hashingService       = new Mock <IHashingService>();
            _commitmentMapper     = new Mock <ICommitmentMapper>();

            _apprenticeshipMapper
            .Setup(o => o.MapToUlnResultView(It.IsAny <GetApprenticeshipsByUlnResponse>()))
            .Returns(new UlnSummaryViewModel())
            .Verifiable();

            _hashingService
            .Setup(o => o.DecodeValue(It.IsAny <string>()))
            .Returns(100);

            _hashingService
            .Setup(o => o.HashValue(It.IsAny <long>()))
            .Returns("ABCDE500");

            _logger.Setup(x => x.Trace(It.IsAny <string>()));
            _logger.Setup(x => x.Info(It.IsAny <string>()));

            _sut = new ApprenticeshipsOrchestrator(_logger.Object,
                                                   _mediator.Object,
                                                   _apprenticeshipMapper.Object,
                                                   _searchValidator.Object,
                                                   _hashingService.Object,
                                                   _commitmentMapper.Object);
        }
Exemplo n.º 4
0
        public void Setup()
        {
            _mockFacetMapper = new Mock <FacetMapper>(Mock.Of <ICurrentDateTime>());

            _mockMediator             = new Mock <IMediator>();
            _mockApprenticeshipMapper = new Mock <IApprenticeshipMapper>();
            _providerOrchestrator     = new ProviderOrchestrator(
                _mockMediator.Object,
                Mock.Of <ICommitmentsLogger>(),
                _mockFacetMapper.Object,
                new ApprenticeshipFilterService(_mockFacetMapper.Object),
                _mockApprenticeshipMapper.Object,
                Mock.Of <ICommitmentMapper>());

            _apprenticeshipsOrchestrator = new ApprenticeshipsOrchestrator(_mockMediator.Object, Mock.Of <IDataLockMapper>(), Mock.Of <IApprenticeshipMapper>(), Mock.Of <ICommitmentsLogger>());
            _controller = new ProviderController(_providerOrchestrator, _apprenticeshipsOrchestrator);

            _newApprenticeship = new Domain.Entities.Apprenticeship
            {
                CommitmentId = TestCommitmentId,
                Id           = TestApprenticeshipId
            };

            _newApprenticeshipRequest = new ApiApprenticeship.ApprenticeshipRequest
            {
                Apprenticeship    = new ApiApprenticeship.Apprenticeship(),
                LastUpdatedByInfo = new LastUpdateInfo {
                    EmailAddress = "*****@*****.**", Name = "Bob"
                }
            };
        }
Exemplo n.º 5
0
        public void Setup()
        {
            _mockMediator     = new Mock <IMediator>();
            _commitmentMapper = new Mock <ICommitmentMapper>();

            _mappedCommitment = new Fixture().Create <Domain.Entities.Commitment>();
            _commitmentMapper.Setup(m => m.MapFrom(It.IsAny <Commitment>()))
            .Returns(_mappedCommitment);
            _mockMediator.Setup(m => m.SendAsync(It.IsAny <GetRelationshipRequest>()))
            .ReturnsAsync(new GetRelationshipResponse());

            _employerOrchestrator = new EmployerOrchestrator(
                _mockMediator.Object,
                Mock.Of <ICommitmentsLogger>(),
                new FacetMapper(Mock.Of <ICurrentDateTime>()),
                new ApprenticeshipFilterService(new FacetMapper(Mock.Of <ICurrentDateTime>())),
                Mock.Of <IApprenticeshipMapper>(),
                _commitmentMapper.Object);

            var apprenticeshipsOrchestrator = new ApprenticeshipsOrchestrator(
                _mockMediator.Object,
                Mock.Of <IDataLockMapper>(),
                Mock.Of <IApprenticeshipMapper>(),
                Mock.Of <ICommitmentsLogger>());

            _controller = new EmployerController(_employerOrchestrator, apprenticeshipsOrchestrator);
        }
        public void Setup()
        {
            _mockMediator            = new Mock <IMediator>();
            _apprenticeshipMapper    = new Mock <IApprenticeshipMapper>();
            _employerOrchestrator    = new EmployerOrchestrator(_mockMediator.Object, Mock.Of <ICommitmentsLogger>(), new FacetMapper(Mock.Of <ICurrentDateTime>()), new ApprenticeshipFilterService(new FacetMapper(Mock.Of <ICurrentDateTime>())), _apprenticeshipMapper.Object, Mock.Of <ICommitmentMapper>());
            _apprenticeshipOrchestor = new ApprenticeshipsOrchestrator(_mockMediator.Object, Mock.Of <IDataLockMapper>(), _apprenticeshipMapper.Object, Mock.Of <ICommitmentsLogger>());

            _controller = new EmployerController(_employerOrchestrator, _apprenticeshipOrchestor);
        }
Exemplo n.º 7
0
        public EmployerController(EmployerOrchestrator employerOrchestrator, ApprenticeshipsOrchestrator apprenticeshipsOrchestrator)
        {
            if (employerOrchestrator == null)
            {
                throw new ArgumentNullException(nameof(employerOrchestrator));
            }
            if (apprenticeshipsOrchestrator == null)
            {
                throw new ArgumentNullException(nameof(apprenticeshipsOrchestrator));
            }

            _employerOrchestrator        = employerOrchestrator;
            _apprenticeshipsOrchestrator = apprenticeshipsOrchestrator;
        }
Exemplo n.º 8
0
        public ProviderController(ProviderOrchestrator providerOrchestrator, ApprenticeshipsOrchestrator apprenticeshipsOrchestrator)
        {
            if (providerOrchestrator == null)
            {
                throw new ArgumentNullException(nameof(providerOrchestrator));
            }
            if (apprenticeshipsOrchestrator == null)
            {
                throw new ArgumentNullException(nameof(apprenticeshipsOrchestrator));
            }

            _providerOrchestrator        = providerOrchestrator;
            _apprenticeshipsOrchestrator = apprenticeshipsOrchestrator;
        }
        public void Setup()
        {
            _mockMediator     = new Mock <IMediator>();
            _commitmentMapper = new Mock <ICommitmentMapper>();
            _commitmentMapper.Setup(x => x.MapFrom(It.IsAny <Domain.Entities.Commitment>(), It.IsAny <CallerType>()))
            .Returns(new CommitmentView());

            _employerOrchestrator    = new EmployerOrchestrator(_mockMediator.Object, Mock.Of <ICommitmentsLogger>(), new FacetMapper(Mock.Of <ICurrentDateTime>()), new ApprenticeshipFilterService(new FacetMapper(Mock.Of <ICurrentDateTime>())), Mock.Of <IApprenticeshipMapper>(), _commitmentMapper.Object);
            _apprenticeshipOrchestor = new ApprenticeshipsOrchestrator(
                _mockMediator.Object,
                Mock.Of <IDataLockMapper>(),
                Mock.Of <IApprenticeshipMapper>(),
                Mock.Of <ICommitmentsLogger>());

            _controller = new EmployerController(_employerOrchestrator, _apprenticeshipOrchestor);
        }
        public async Task GivenInvalidCohortShouldReturnResponseMessageAndNotCallSearchService()
        {
            // Arrange
            ApprenticeshipSearchQuery searchQuery = new Models.ApprenticeshipSearchQuery
            {
                SearchTerm = "short",
                SearchType = ApprenticeshipSearchType.SearchByCohort
            };

            _mediator.Setup(x => x.SendAsync(It.IsAny <GetCommitmentRequest>()))
            .ReturnsAsync(new GetCommitmentResponse
            {
                Data = new Commitment {
                }
            }).Verifiable();

            var validationFailures = new List <ValidationFailure>
            {
                new ValidationFailure("SearchTerm", "Invalid Cohort")
            };

            var validationResult = new ValidationResult(validationFailures);

            _searchValidator.Setup(x => x.Validate(searchQuery))
            .Returns(validationResult)
            .Verifiable();

            var _orchestrator = new ApprenticeshipsOrchestrator(_logger.Object,
                                                                _mediator.Object,
                                                                _apprenticeshipMapper.Object,
                                                                _searchValidator.Object,
                                                                _hashingService.Object,
                                                                _commitmentMapper.Object);

            // Act
            var result = await _orchestrator.GetCommitmentSummary(searchQuery);

            // Assert
            _searchValidator.VerifyAll();
            _mediator.Verify(x => x.SendAsync(It.IsAny <GetCommitmentRequest>()), Times.Never);

            result.Should().NotBeNull();
            result.Should().BeOfType <CommitmentSummaryViewModel>();

            result.ReponseMessages.Should().NotBeNull();
            result.ReponseMessages.Should().HaveCount(1);
        }
        public async Task CohortFoundShouldReturnCohortCommitmentSummary()
        {
            // Arrange
            const string employerName             = "Employer Name";
            ApprenticeshipSearchQuery searchQuery = new ApprenticeshipSearchQuery
            {
                HashedAccountId = "HASH",
                SearchTerm      = "short",
                SearchType      = ApprenticeshipSearchType.SearchByCohort
            };

            _mediator.Setup(x => x.SendAsync(It.IsAny <GetCommitmentRequest>()))
            .ReturnsAsync(new GetCommitmentResponse
            {
                Data = new Commitment()
            });

            var validationResult = new Mock <ValidationResult>();

            validationResult.SetupGet(x => x.IsValid).Returns(true);

            _searchValidator.Setup(x => x.Validate(searchQuery))
            .Returns(validationResult.Object);

            var _orchestrator = new ApprenticeshipsOrchestrator(_logger.Object,
                                                                _mediator.Object,
                                                                _apprenticeshipMapper.Object,
                                                                _searchValidator.Object,
                                                                _hashingService.Object,
                                                                _commitmentMapper.Object);

            _commitmentMapper.Setup(x => x.MapToCommitmentSummaryViewModel(It.IsAny <Commitment>())).Returns(new CommitmentSummaryViewModel
            {
                EmployerName = employerName
            });

            // Act
            var result = await _orchestrator.GetCommitmentSummary(searchQuery);

            // Assert
            result.Should().NotBeNull();
            result.Should().BeOfType <CommitmentSummaryViewModel>();

            result.ReponseMessages.Should().BeNullOrEmpty();
            result.EmployerName.Should().Be(employerName);
        }
Exemplo n.º 12
0
        public void Setup()
        {
            _mockMediator         = new Mock <IMediator>();
            _apprenticeshipMapper = new Mock <IApprenticeshipMapper>();

            MockFacetMapper = new Mock <FacetMapper>(Mock.Of <ICurrentDateTime>());

            _providerOrchestrator = new ProviderOrchestrator(
                _mockMediator.Object,
                Mock.Of <ICommitmentsLogger>(),
                MockFacetMapper.Object,
                new ApprenticeshipFilterService(MockFacetMapper.Object),
                _apprenticeshipMapper.Object,
                Mock.Of <ICommitmentMapper>());

            _apprenticeshipsOrchestrator = new ApprenticeshipsOrchestrator(_mockMediator.Object, Mock.Of <IDataLockMapper>(), Mock.Of <IApprenticeshipMapper>(), Mock.Of <ICommitmentsLogger>());
            _controller = new ProviderController(_providerOrchestrator, _apprenticeshipsOrchestrator);
        }
        public async Task GivenInvalidHashedAccountIdShouldReturnResponseMessage()
        {
            // Arrange
            ApprenticeshipSearchQuery searchQuery = new ApprenticeshipSearchQuery
            {
                HashedAccountId = "HASH",
                SearchTerm      = "short",
                SearchType      = ApprenticeshipSearchType.SearchByCohort
            };

            _mediator.Setup(x => x.SendAsync(It.IsAny <GetCommitmentRequest>()))
            .ReturnsAsync(new GetCommitmentResponse
            {
                Data = new Commitment {
                }
            }).Verifiable();

            var validationResult = new Mock <ValidationResult>();

            validationResult.SetupGet(x => x.IsValid).Returns(true);

            _searchValidator.Setup(x => x.Validate(searchQuery))
            .Returns(validationResult.Object);

            _hashingService.Setup(x => x.DecodeValue(It.Is <string>(s => s == searchQuery.SearchTerm))).Returns(1234);
            _hashingService.Setup(x => x.DecodeValue(searchQuery.HashedAccountId)).Throws <Exception>();

            var _orchestrator = new ApprenticeshipsOrchestrator(_logger.Object,
                                                                _mediator.Object,
                                                                _apprenticeshipMapper.Object,
                                                                _searchValidator.Object,
                                                                _hashingService.Object,
                                                                _commitmentMapper.Object);

            // Act
            var result = await _orchestrator.GetCommitmentSummary(searchQuery);

            // Assert
            result.Should().NotBeNull();
            result.Should().BeOfType <CommitmentSummaryViewModel>();

            result.ReponseMessages.Should().NotBeNull();
            result.ReponseMessages.Should().Contain("Problem validating your account Id");
        }
        public async Task QueryThrowsUnauthorizedShouldReturnResponseMessage()
        {
            // Arrange
            ApprenticeshipSearchQuery searchQuery = new ApprenticeshipSearchQuery
            {
                HashedAccountId = "HASH",
                SearchTerm      = "short",
                SearchType      = ApprenticeshipSearchType.SearchByCohort
            };

            _mediator
            .Setup(x => x.SendAsync(It.IsAny <GetCommitmentRequest>()))
            .Throws <UnauthorizedException>();

            var validationResult = new Mock <ValidationResult>();

            validationResult
            .SetupGet(x => x.IsValid)
            .Returns(true);

            _searchValidator
            .Setup(x => x.Validate(searchQuery))
            .Returns(validationResult.Object);

            var _orchestrator = new ApprenticeshipsOrchestrator(
                _logger.Object,
                _mediator.Object,
                _apprenticeshipMapper.Object,
                _searchValidator.Object,
                _hashingService.Object,
                _commitmentMapper.Object);

            // Act
            var result = await _orchestrator.GetCommitmentSummary(searchQuery);

            // Assert
            result.Should().NotBeNull();
            result.Should().BeOfType <CommitmentSummaryViewModel>();

            result.ReponseMessages.Should().NotBeNull();
            result.ReponseMessages.Should().Contain("Account is unauthorised to access this Cohort.");
        }
Exemplo n.º 15
0
        public void Setup()
        {
            _mockMediator     = new Mock <IMediator>();
            _commitmentMapper = new Mock <ICommitmentMapper>();
            _commitmentMapper.Setup(x => x.MapFrom(It.IsAny <IEnumerable <CommitmentSummary> >(), It.IsAny <CallerType>()))
            .Returns(() => new List <CommitmentListItem>());

            _mockFacetMapper = new Mock <FacetMapper>(Mock.Of <ICurrentDateTime>());

            _providerOrchestrator = new ProviderOrchestrator(
                _mockMediator.Object,
                Mock.Of <ICommitmentsLogger>(),
                _mockFacetMapper.Object,
                new ApprenticeshipFilterService(_mockFacetMapper.Object),
                Mock.Of <IApprenticeshipMapper>(),
                _commitmentMapper.Object);

            _apprenticeshipsOrchestrator = new ApprenticeshipsOrchestrator(_mockMediator.Object, Mock.Of <IDataLockMapper>(), Mock.Of <IApprenticeshipMapper>(), Mock.Of <ICommitmentsLogger>());
            _controller = new ProviderController(_providerOrchestrator, _apprenticeshipsOrchestrator);
        }
        public async Task NoCohortFoundShouldReturnResponseMessage(bool responseAsNull)
        {
            // Arrange
            ApprenticeshipSearchQuery searchQuery = new ApprenticeshipSearchQuery
            {
                HashedAccountId = "HASH",
                SearchTerm      = "short",
                SearchType      = ApprenticeshipSearchType.SearchByCohort
            };

            var getComtResponse = responseAsNull ? null : new GetCommitmentResponse {
                Data = null
            };

            _mediator.Setup(x => x.SendAsync(It.IsAny <GetCommitmentRequest>()))
            .ReturnsAsync(getComtResponse);

            var validationResult = new Mock <ValidationResult>();

            validationResult.SetupGet(x => x.IsValid).Returns(true);

            _searchValidator.Setup(x => x.Validate(searchQuery))
            .Returns(validationResult.Object);

            var _orchestrator = new ApprenticeshipsOrchestrator(_logger.Object,
                                                                _mediator.Object,
                                                                _apprenticeshipMapper.Object,
                                                                _searchValidator.Object,
                                                                _hashingService.Object,
                                                                _commitmentMapper.Object);

            // Act
            var result = await _orchestrator.GetCommitmentSummary(searchQuery);

            // Assert
            result.Should().NotBeNull();
            result.Should().BeOfType <CommitmentSummaryViewModel>();

            result.ReponseMessages.Should().NotBeNull();
            result.ReponseMessages.Should().Contain("No record Found");
        }