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")); }
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); }