public void Setup() { MockMediator = new Mock <IMediator>(); _mockLogger = new Mock <ILogger>(); _mockCalculator = new Mock <ICommitmentStatusCalculator>(); _mockApprenticeshipMapper = new Mock <IApprenticeshipMapper>(); _mockCommitmentMapper = new Mock <ICommitmentMapper>(); _mockHashingService = new Mock <IHashingService>(); _mockHashingService.Setup(x => x.DecodeValue("ABC123")).Returns(123L); _mockHashingService.Setup(x => x.DecodeValue("ABC321")).Returns(321L); _mockHashingService.Setup(x => x.DecodeValue("ABC456")).Returns(456L); MockMediator.Setup(x => x.SendAsync(It.IsAny <GetCommitmentQueryRequest>())) .ReturnsAsync(new GetCommitmentQueryResponse { Commitment = new CommitmentView { Id = 123, LegalEntityId = "321", EditStatus = EditStatus.EmployerOnly } }); EmployerCommitmentOrchestrator = new EmployerCommitmentsOrchestrator( MockMediator.Object, _mockHashingService.Object, _mockCalculator.Object, _mockApprenticeshipMapper.Object, _mockCommitmentMapper.Object, _mockLogger.Object); }
public void Arrange() { _mediator = new Mock <IMediator>(); _logger = new Mock <ILogger>(); _calculator = new Mock <ICommitmentStatusCalculator>(); _hashingService = new Mock <IHashingService>(); _hashingService.Setup(x => x.DecodeValue("ABC123")).Returns(123L); _hashingService.Setup(x => x.DecodeValue("ABC321")).Returns(321L); _hashingService.Setup(x => x.DecodeValue("ABC456")).Returns(456L); _mediator.Setup(x => x.SendAsync(It.IsAny <GetCommitmentQueryRequest>())) .ReturnsAsync(new GetCommitmentQueryResponse { Commitment = new CommitmentView { Id = 123, LegalEntityId = "321", EditStatus = EditStatus.EmployerOnly } }); _mediator.Setup(x => x.SendAsync(It.IsAny <GetOverlappingApprenticeshipsQueryRequest>())) .ReturnsAsync( new GetOverlappingApprenticeshipsQueryResponse { Overlaps = Enumerable.Empty <ApprenticeshipOverlapValidationResult>() }); _employerCommitmentOrchestrator = new EmployerCommitmentsOrchestrator( _mediator.Object, _hashingService.Object, _calculator.Object, Mock.Of <IApprenticeshipMapper>(), Mock.Of <ICommitmentMapper>(), _logger.Object); }
public TransferRequestController(EmployerCommitmentsOrchestrator orchestrator, IOwinWrapper owinWrapper, IMultiVariantTestingService multiVariantTestingService, ICookieStorageService <FlashMessageViewModel> flashMessage, ICookieStorageService <string> lastCohortCookieStorageService, ILinkGenerator linkGenerator) : base(orchestrator, owinWrapper, multiVariantTestingService, flashMessage, lastCohortCookieStorageService) { _linkGenerator = linkGenerator; }
public EmployerCommitmentsController(EmployerCommitmentsOrchestrator employerCommitmentsOrchestrator, IOwinWrapper owinWrapper, IFeatureToggle featureToggle, IMultiVariantTestingService multiVariantTestingService, ICookieStorageService <FlashMessageViewModel> flashMessage) : base(owinWrapper, featureToggle, multiVariantTestingService, flashMessage) { if (employerCommitmentsOrchestrator == null) { throw new ArgumentNullException(nameof(employerCommitmentsOrchestrator)); } if (owinWrapper == null) { throw new ArgumentNullException(nameof(owinWrapper)); } _employerCommitmentsOrchestrator = employerCommitmentsOrchestrator; }
public async Task <ActionResult> SelectLegalEntity(string hashedAccountId, string transferConnectionCode, string cohortRef = "") { if (!await IsUserRoleAuthorized(hashedAccountId, Role.Owner, Role.Transactor)) { return(View("AccessDenied")); } var response = await Orchestrator.GetLegalEntities(hashedAccountId, transferConnectionCode, cohortRef, OwinWrapper.GetClaimValue(@"sub")); if (response.Data.LegalEntities == null || !response.Data.LegalEntities.Any()) { throw new InvalidStateException($"No legal entities associated with account {hashedAccountId}"); } if (response.Data.LegalEntities.Count() > 1) { return(View(response)); } var autoSelectLegalEntity = response.Data.LegalEntities.First(); var hasSigned = EmployerCommitmentsOrchestrator.HasSignedAgreement( autoSelectLegalEntity, !string.IsNullOrWhiteSpace(transferConnectionCode)); if (hasSigned) { return(RedirectToAction("SearchProvider", new SelectLegalEntityViewModel { TransferConnectionCode = transferConnectionCode, CohortRef = response.Data.CohortRef, LegalEntityCode = autoSelectLegalEntity.Code, // no need to store LegalEntities, as the property is only read in the SelectLegalEntity view, which we're now skipping })); } return(RedirectToAction("AgreementNotSigned", new { HashedAccountId = hashedAccountId, LegalEntityCode = autoSelectLegalEntity.Code, TransferConnectionCode = transferConnectionCode, CohortRef = response.Data.CohortRef, HasSignedAgreement = false, LegalEntityName = autoSelectLegalEntity.Name ?? string.Empty })); }
public void Setup() { MockMediator = new Mock <IMediator>(); MockLogger = new Mock <ILog>(); MockApprenticeshipMapper = new Mock <IApprenticeshipMapper>(); MockApprenticeshipCoreValidator = new Mock <IApprenticeshipCoreValidator>(); MockCommitmentMapper = new Mock <ICommitmentMapper>(); MockLinkGenerator = new Mock <ILinkGenerator>(); MockEmployerCommitmentsV2FeatureToggleOn = new Mock <IFeatureToggle>(); MockEmployerCommitmentsV2FeatureToggleOn.Setup(x => x.FeatureEnabled).Returns(true); MockTransfersFeatureToggleOn = new Mock <IFeatureToggle>(); MockTransfersFeatureToggleOn.Setup(x => x.FeatureEnabled).Returns(true); MockFeatureToggleService = new Mock <IFeatureToggleService>(); MockFeatureToggleService.Setup(x => x.Get <Transfers>()).Returns(MockTransfersFeatureToggleOn.Object); MockHashingService = new Mock <IHashingService>(); MockHashingService.Setup(x => x.DecodeValue("ABC123")).Returns(123L); MockHashingService.Setup(x => x.DecodeValue("ABC321")).Returns(321L); MockHashingService.Setup(x => x.DecodeValue("ABC456")).Returns(456L); MockPublicHashingService = new Mock <IPublicHashingService>(); MockEmployerAccountService = new Mock <IEmployerAccountService>(); CommitmentView = new CommitmentView { Id = 123, LegalEntityId = "321", EditStatus = EditStatus.EmployerOnly, Messages = new List <MessageView>(), AccountLegalEntityPublicHashedId = "ALE123" }; MockMediator.Setup(x => x.SendAsync(It.IsAny <GetCommitmentQueryRequest>())) .ReturnsAsync(new GetCommitmentQueryResponse { Commitment = CommitmentView }); MockMediator.Setup(x => x.SendAsync(It.IsAny <GetUserAccountRoleQuery>())) .ReturnsAsync(new GetUserAccountRoleResponse { User = new TeamMember() }); MockMediator.Setup(m => m.SendAsync(It.IsAny <GetTrainingProgrammesQueryRequest>())) .ReturnsAsync(new GetTrainingProgrammesQueryResponse { TrainingProgrammes = new List <TrainingProgramme>() }); MockMediator.Setup(m => m.SendAsync(It.IsAny <GetApprenticeshipQueryRequest>())) .ReturnsAsync(new GetApprenticeshipQueryResponse { Apprenticeship = new Apprenticeship() }); MockApprenticeshipMapper.Setup(x => x.MapToApprenticeshipViewModel(It.IsAny <Apprenticeship>(), It.IsAny <CommitmentView>())) .Returns(new ApprenticeshipViewModel()); EmployerCommitmentOrchestrator = new EmployerCommitmentsOrchestrator( MockMediator.Object, MockHashingService.Object, MockPublicHashingService.Object, MockApprenticeshipCoreValidator.Object, MockApprenticeshipMapper.Object, MockCommitmentMapper.Object, MockLogger.Object, MockFeatureToggleService.Object, MockEmployerAccountService.Object); }