public void check_trading_name_orchestrator_builds_with_expected_details()
        {
            var applicationId = Guid.NewGuid();

            var commonDetails = new GatewayCommonDetails
            {
                ApplicationSubmittedOn = DateTime.Now.AddDays(-3),
                SourcesCheckedOn       = DateTime.Now,
                LegalName = LegalName,
                Ukprn     = ukprn
            };

            _applyApiClient.Setup(x => x.GetPageCommonDetails(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(commonDetails);

            var ukrlpDetails = new ProviderDetails
            {
                ProviderAliases = new List <ProviderAlias>()
                {
                    new ProviderAlias {
                        Alias = UKRLPTradingName
                    }
                }
            };

            _applyApiClient.Setup(x => x.GetUkrlpDetails(It.IsAny <Guid>())).ReturnsAsync(ukrlpDetails);
            _applyApiClient.Setup(x => x.GetTradingName(It.IsAny <Guid>())).ReturnsAsync(ApplyTradingName);

            var request = new GetTradingNameRequest(applicationId, UserId, UserName);

            var response = _orchestrator.GetTradingNameViewModel(request);

            var viewModel = response.Result;

            Assert.AreEqual(UKRLPTradingName, viewModel.UkrlpTradingName);
            Assert.AreEqual(ApplyTradingName, viewModel.ApplyTradingName);
            Assert.AreEqual(ukprn, viewModel.Ukprn);
        }
        public async Task <TradingNamePageViewModel> GetTradingNameViewModel(GetTradingNameRequest request)
        {
            _logger.LogInformation($"Retrieving trading name details for application {request.ApplicationId}");

            var model = new TradingNamePageViewModel();
            await model.PopulatePageCommonDetails(_applyApiClient, request.ApplicationId, GatewaySequences.OrganisationChecks,
                                                  GatewayPageIds.TradingName,
                                                  request.UserId,
                                                  request.UserName,
                                                  RoatpGatewayConstants.Captions.OrganisationChecks,
                                                  RoatpGatewayConstants.Headings.TradingName,
                                                  NoSelectionErrorMessages.Errors[GatewayPageIds.TradingName]);

            var ukrlpDetail = await _applyApiClient.GetUkrlpDetails(request.ApplicationId);

            if (ukrlpDetail.ProviderAliases != null && ukrlpDetail.ProviderAliases.Count > 0)
            {
                model.UkrlpTradingName = ukrlpDetail.ProviderAliases.First().Alias;
            }

            model.ApplyTradingName = await _applyApiClient.GetTradingName(request.ApplicationId);

            return(model);
        }