public SubmitGatewayPageAnswerCommand(RoatpGatewayPageViewModel viewModel)
 {
     ApplicationId               = viewModel.ApplicationId;
     SequenceNumber              = viewModel.SequenceNumber;
     PageId                      = viewModel.PageId;
     Status                      = viewModel.Status;
     OriginalStatus              = viewModel.OriginalStatus;
     OptionPassText              = viewModel.OptionPassText;
     OptionFailText              = viewModel.OptionFailText;
     OptionInProgressText        = viewModel.OptionInProgressText;
     OptionClarificationText     = viewModel.OptionClarificationText;
     ClarificationAnswer         = viewModel.ClarificationAnswer;
     ClarificationAnswerMaxWords = viewModel.ClarificationAnswerMaxWords;
 }
        public void clarification_test_cases_where_ClarificationAnswer_is_too_long(Type t)
        {
            _viewModel                     = (RoatpGatewayPageViewModel)Activator.CreateInstance(t);
            _viewModel.Status              = SectionReviewStatus.Pass;
            _viewModel.OptionPassText      = "words";
            _viewModel.ClarificationAnswer = string.Join(" ", Enumerable.Range(0, _viewModel.ClarificationAnswerMaxWords + 1));

            var command = new SubmitGatewayPageAnswerCommand(_viewModel);

            var result = _validator.ValidateClarification(command).Result;

            CollectionAssert.IsNotEmpty(result.Errors);
            Assert.IsTrue(result.Errors[0].ErrorMessage.Contains($"{_viewModel.ClarificationAnswerMaxWords} words"));
        }
Пример #3
0
        internal static async Task PopulatePageCommonDetails(this RoatpGatewayPageViewModel viewModel, IRoatpApplicationApiClient applyApiClient, Guid applicationId,
                                                             int sequenceNumber, string pageId, string userId, string userName, string caption, string heading, string noSelectionErrorMessage)
        {
            var commonDetails = await applyApiClient.GetPageCommonDetails(applicationId, pageId, userId, userName);

            viewModel.ApplicationId       = commonDetails.ApplicationId;
            viewModel.SequenceNumber      = sequenceNumber;
            viewModel.PageId              = commonDetails.PageId;
            viewModel.GatewayReviewStatus = commonDetails.GatewayReviewStatus;
            viewModel.ApplyLegalName      = commonDetails.LegalName;
            viewModel.ApplicationRoute    = commonDetails.ProviderRouteName;
            viewModel.Ukprn                   = commonDetails.Ukprn;
            viewModel.Status                  = commonDetails.Status;
            viewModel.OriginalStatus          = commonDetails.Status;
            viewModel.SourcesCheckedOn        = commonDetails.SourcesCheckedOn;
            viewModel.ApplicationSubmittedOn  = commonDetails.ApplicationSubmittedOn;
            viewModel.Caption                 = caption;
            viewModel.Heading                 = heading;
            viewModel.NoSelectionErrorMessage = noSelectionErrorMessage;
            viewModel.ApplicationStatus       = commonDetails.ApplicationStatus;
            viewModel.GatewayOutcomeMadeOn    = commonDetails.GatewayOutcomeMadeOn;
            viewModel.GatewayOutcomeMadeBy    = commonDetails.GatewayOutcomeMadeBy;
            viewModel.OutcomeMadeOn           = commonDetails.OutcomeMadeOn;
            viewModel.OutcomeMadeBy           = commonDetails.OutcomeMadeBy;
            viewModel.Comments                = commonDetails.Comments;
            viewModel.ClarificationComments   = commonDetails.ClarificationComments;
            viewModel.ClarificationBy         = commonDetails.ClarificationBy;
            viewModel.ClarificationDate       = commonDetails.ClarificationDate;
            viewModel.ClarificationAnswer     = commonDetails.ClarificationAnswer;

            switch (commonDetails.Status)
            {
            case SectionReviewStatus.Pass:
                viewModel.OptionPassText = commonDetails.Comments;
                break;

            case SectionReviewStatus.InProgress:
                viewModel.OptionInProgressText = commonDetails.Comments;
                break;

            case SectionReviewStatus.Fail:
                viewModel.OptionFailText = commonDetails.Comments;
                break;

            case SectionReviewStatus.Clarification:
                viewModel.OptionClarificationText = commonDetails.Comments;
                break;
            }
        }
        public void test_cases_for_no_status_and_no_fail_text_to_check_messages_as_expected(string status, string passMessage, string inProgressMessage, string failMessage, string clarificationMessage, bool hasErrorMessage)
        {
            _viewModel = new RoatpGatewayPageViewModel
            {
                Status                  = status,
                OptionPassText          = passMessage,
                OptionFailText          = failMessage,
                OptionInProgressText    = inProgressMessage,
                OptionClarificationText = clarificationMessage,
                PageId                  = GatewayPageIds.LegalName
            };

            var command = new SubmitGatewayPageAnswerCommand(_viewModel);

            var result = _validator.Validate(command).Result;

            Assert.AreEqual(hasErrorMessage, result.Errors.Any());
        }
        public void test_cases_where_input_is_too_long(int wordCount, bool hasErrorMessage)
        {
            var words = string.Empty;

            for (var i = 0; i < wordCount; i++)
            {
                words = $"{words}{i} ";
            }

            _viewModel                = new RoatpGatewayPageViewModel();
            _viewModel.Status         = SectionReviewStatus.Pass;
            _viewModel.OptionPassText = words;

            var command = new SubmitGatewayPageAnswerCommand(_viewModel);

            var result = _validator.Validate(command).Result;

            Assert.AreEqual(hasErrorMessage, result.Errors.Any());
        }
        protected void AssertCommonDetails(RoatpGatewayPageViewModel viewModel)
        {
            Assert.AreEqual(CommonDetails.ApplicationId, viewModel.ApplicationId);
            Assert.AreEqual(CommonDetails.PageId, viewModel.PageId);
            Assert.AreEqual(CommonDetails.ApplicationSubmittedOn, viewModel.ApplicationSubmittedOn);
            Assert.AreEqual(CommonDetails.SourcesCheckedOn, viewModel.SourcesCheckedOn);
            Assert.AreEqual(CommonDetails.LegalName, viewModel.ApplyLegalName);
            Assert.AreEqual(CommonDetails.Ukprn, viewModel.Ukprn);
            Assert.AreEqual(CommonDetails.GatewayReviewStatus, viewModel.GatewayReviewStatus);
            Assert.AreEqual(CommonDetails.Status, viewModel.Status);
            Assert.AreEqual(CommonDetails.Comments, viewModel.Comments);
            Assert.AreEqual(CommonDetails.OutcomeMadeBy, viewModel.OutcomeMadeBy);
            Assert.AreEqual(CommonDetails.OutcomeMadeOn, viewModel.OutcomeMadeOn);

            // Note: If you change from a 'Pass' in Setup() then you'll have to amend this
            Assert.AreEqual(CommonDetails.Comments, viewModel.OptionPassText);
            Assert.Null(viewModel.OptionFailText);
            Assert.Null(viewModel.OptionInProgressText);
            Assert.Null(viewModel.OptionClarificationText);
        }