AddRegistrationPromptConfigureAnswers_adds_correct_model_error_if_new_answer_surpasses_character_limit( string optionsString, string newAnswerInput, string expectedErrorMessage ) { // Given var initialSelectPromptModel = new AddRegistrationPromptSelectPromptViewModel(1, true); var inputAnswersViewModel = new RegistrationPromptAnswersViewModel(optionsString, newAnswerInput); var initialTempData = new AddRegistrationPromptData { SelectPromptViewModel = initialSelectPromptModel, ConfigureAnswersViewModel = inputAnswersViewModel }; registrationPromptsController.TempData.Set(initialTempData); const string action = "addPrompt"; // When var result = registrationPromptsController.AddRegistrationPromptConfigureAnswers(inputAnswersViewModel, action); // Then using (new AssertionScope()) { result.As <ViewResult>().Model.Should().BeOfType <RegistrationPromptAnswersViewModel>(); AssertModelStateErrorIsExpected(result, expectedErrorMessage); } }
public void RegistrationPromptBulkPost_updates_temp_data_and_redirects_to_configure_answers() { // Given var inputViewModel = new BulkRegistrationPromptAnswersViewModel("Test\r\nAnswer", true, null); var initialPromptModel = new AddRegistrationPromptSelectPromptViewModel(1, true); var initialConfigureAnswersViewModel = new RegistrationPromptAnswersViewModel("Test"); var expectedViewModel = new RegistrationPromptAnswersViewModel("Test\r\nAnswer"); var initialTempData = new AddRegistrationPromptData { SelectPromptViewModel = initialPromptModel, ConfigureAnswersViewModel = initialConfigureAnswersViewModel, }; registrationPromptsController.TempData.Set(initialTempData); // When var result = registrationPromptsController.AddRegistrationPromptBulkPost(inputViewModel); // Then using (new AssertionScope()) { AssertSelectPromptViewModelIsExpectedModel(initialPromptModel); AssertPromptAnswersViewModelIsExpectedModel(expectedViewModel); result.Should().BeRedirectToActionResult().WithActionName("AddRegistrationPromptConfigureAnswers"); } }
public void AddRegistrationPromptConfigureAnswers_delete_removes_configured_answer() { // Given var initialPromptModel = new AddRegistrationPromptSelectPromptViewModel(1, true); var initialViewModel = new RegistrationPromptAnswersViewModel("Test\r\nAnswer"); var expectedViewModel = new RegistrationPromptAnswersViewModel("Answer"); const string action = "delete0"; var initialTempData = new AddRegistrationPromptData { SelectPromptViewModel = initialPromptModel, ConfigureAnswersViewModel = initialViewModel }; registrationPromptsController.TempData.Set(initialTempData); // When var result = registrationPromptsController.AddRegistrationPromptConfigureAnswers(initialViewModel, action); // Then using (new AssertionScope()) { AssertSelectPromptViewModelIsExpectedModel(initialPromptModel); AssertPromptAnswersViewModelIsExpectedModel(expectedViewModel); result.As <ViewResult>().Model.Should().BeOfType <RegistrationPromptAnswersViewModel>(); } }
public void AddRegistrationPromptConfigureAnswers_add_configures_new_answer_and_updates_temp_data() { // Given var initialSelectPromptModel = new AddRegistrationPromptSelectPromptViewModel(1, true); var inputAnswersViewModel = new RegistrationPromptAnswersViewModel("Test", "Answer"); var expectedConfigureAnswerViewModel = new RegistrationPromptAnswersViewModel("Test\r\nAnswer"); var initialTempData = new AddRegistrationPromptData { SelectPromptViewModel = initialSelectPromptModel, ConfigureAnswersViewModel = inputAnswersViewModel }; registrationPromptsController.TempData.Set(initialTempData); const string action = "addPrompt"; // When var result = registrationPromptsController.AddRegistrationPromptConfigureAnswers(inputAnswersViewModel, action); // Then using (new AssertionScope()) { AssertSelectPromptViewModelIsExpectedModel(initialSelectPromptModel); AssertPromptAnswersViewModelIsExpectedModel(expectedConfigureAnswerViewModel); result.As <ViewResult>().Model.Should().BeOfType <RegistrationPromptAnswersViewModel>(); } }
public void AddRegistrationPromptSelectPrompt_post_updates_temp_data_and_redirects() { // Given var expectedPromptData = new AddRegistrationPromptSelectPromptData(1, true, "prompt"); var initialTempData = new AddRegistrationPromptTempData(); A.CallTo( () => multiPageFormService.GetMultiPageFormData <AddRegistrationPromptTempData>( MultiPageFormDataFeature.AddRegistrationPrompt, registrationPromptsController.TempData ) ).Returns(initialTempData); A.CallTo(() => centreRegistrationPromptsService.GetCentreRegistrationPromptsAlphabeticalList()) .Returns(new List <(int id, string value)> { (1, "prompt") }); var inputViewModel = new AddRegistrationPromptSelectPromptViewModel(1, true); // When var result = registrationPromptsController.AddRegistrationPromptSelectPrompt(inputViewModel); // Then AssertMultiPageFormDataIsUpdatedCorrectly(expectedPromptData, new RegistrationPromptAnswersTempData()); result.Should().BeRedirectToActionResult().WithActionName("AddRegistrationPromptConfigureAnswers"); }
public void AddRegistrationPromptSelectPrompt_post_updates_temp_data_and_redirects() { var expectedPromptModel = new AddRegistrationPromptSelectPromptViewModel(1, true); var initialTempData = new AddRegistrationPromptData(); registrationPromptsController.TempData.Set(initialTempData); // When var result = registrationPromptsController.AddRegistrationPromptSelectPrompt(expectedPromptModel); // Then AssertSelectPromptViewModelIsExpectedModel(expectedPromptModel); result.Should().BeRedirectToActionResult().WithActionName("AddRegistrationPromptConfigureAnswers"); }
public void AddRegistrationPromptConfigureAnswers_next_updates_temp_data() { // Given var expectedPromptModel = new AddRegistrationPromptSelectPromptViewModel(1, true); var initialTempData = new AddRegistrationPromptData { SelectPromptViewModel = expectedPromptModel }; registrationPromptsController.TempData.Set(initialTempData); var expectedAnswerModel = new RegistrationPromptAnswersViewModel("Test"); const string action = "next"; // When var result = registrationPromptsController.AddRegistrationPromptConfigureAnswers(expectedAnswerModel, action); // Then AssertSelectPromptViewModelIsExpectedModel(expectedPromptModel); AssertPromptAnswersViewModelIsExpectedModel(expectedAnswerModel); result.Should().BeRedirectToActionResult().WithActionName("AddRegistrationPromptSummary"); }
public void AddRegistrationPromptSummary_calls_custom_prompt_service_and_redirects_to_index() { // Given var initialPromptModel = new AddRegistrationPromptSelectPromptViewModel(1, true); var initialViewModel = new RegistrationPromptAnswersViewModel("Test\r\nAnswer"); var initialTempData = new AddRegistrationPromptData { SelectPromptViewModel = initialPromptModel, ConfigureAnswersViewModel = initialViewModel }; registrationPromptsController.TempData.Set(initialTempData); A.CallTo( () => centreCustomPromptsService.AddCustomPromptToCentre( ControllerContextHelper.CentreId, 1, true, "Test\r\nAnswer" ) ).Returns(true); // When var result = registrationPromptsController.AddRegistrationPromptSummaryPost(); // Then using (new AssertionScope()) { A.CallTo( () => centreCustomPromptsService.AddCustomPromptToCentre( ControllerContextHelper.CentreId, 1, true, "Test\r\nAnswer" ) ).MustHaveHappened(); registrationPromptsController.TempData.Peek <AddRegistrationPromptData>().Should().BeNull(); result.Should().BeRedirectToActionResult().WithActionName("Index"); } }
private void AssertSelectPromptViewModelIsExpectedModel(AddRegistrationPromptSelectPromptViewModel promptModel) { registrationPromptsController.TempData.Peek <AddRegistrationPromptData>() !.SelectPromptViewModel.Should() .BeEquivalentTo(promptModel); }
public AddRegistrationPromptData() { Id = Guid.NewGuid(); SelectPromptViewModel = new AddRegistrationPromptSelectPromptViewModel(); ConfigureAnswersViewModel = new RegistrationPromptAnswersViewModel(); }