Ejemplo n.º 1
0
        public void AddAdminField_calls_service_and_redirects_to_error_on_failure()
        {
            // Given
            var          model           = new AddAdminFieldViewModel(1, "Test");
            const string action          = "save";
            var          initialTempData = new AddAdminFieldData(model);

            controller.TempData.Set(initialTempData);

            A.CallTo(
                () => courseAdminFieldsService.AddCustomPromptToCourse(
                    100,
                    1,
                    "Test"
                    )
                ).Returns(false);

            // When
            var result = controller.AddAdminField(100, model, action);

            // Then
            using (new AssertionScope())
            {
                result.Should().BeStatusCodeResult().WithStatusCode(500);
            }
        }
Ejemplo n.º 2
0
        public void AddAdminField_post_updates_temp_data_and_redirects()
        {
            var expectedPromptModel = new AddAdminFieldViewModel();
            var initialTempData     = new AddAdminFieldData(expectedPromptModel);

            controller.TempData.Set(initialTempData);

            // When
            var result = controller.AddAdminField(1);

            // Then
            AssertAddTempDataIsExpected(expectedPromptModel);
            result.As <ViewResult>().Model.Should().BeOfType <AddAdminFieldViewModel>();
        }
Ejemplo n.º 3
0
        public void AddAdminField_returns_error_with_unexpected_action()
        {
            // Given
            var          model           = new AddAdminFieldViewModel();
            const string action          = "deletetest";
            var          initialTempData = new AddAdminFieldData(model);

            controller.TempData.Set(initialTempData);

            // When
            var result = controller.AddAdminField(1, model, action);

            // Then
            result.Should().BeStatusCodeResult().WithStatusCode(500);
        }
Ejemplo n.º 4
0
        public void AddAdminField_removes_answer_without_admin_field_selected()
        {
            var          model           = new AddAdminFieldViewModel(null, "Test\r\nAnswer");
            const string action          = "delete0";
            var          initialTempData = new AddAdminFieldData(model);

            controller.TempData.Set(initialTempData);

            // When
            var result = controller.AddAdminField(1, model, action);

            // Then
            using (new AssertionScope())
            {
                result.As <ViewResult>().Model.Should().BeOfType <AddAdminFieldViewModel>();
                AssertNumberOfConfiguredAnswersOnView(result, 1);
            }
        }
Ejemplo n.º 5
0
        public void AddAdminField_bulk_redirects_without_admin_field_selected()
        {
            // Given
            var          model           = new AddAdminFieldViewModel(null, "Options");
            const string action          = "bulk";
            var          initialTempData = new AddAdminFieldData(model);

            controller.TempData.Set(initialTempData);

            // When
            var result = controller.AddAdminField(1, model, action);

            // Then
            using (new AssertionScope())
            {
                AssertAddTempDataIsExpected(model);
                result.Should().BeRedirectToActionResult().WithActionName("AddAdminFieldAnswersBulk");
            }
        }
Ejemplo n.º 6
0
        public void AddAdminField_adds_answer_without_admin_field_selected()
        {
            var initialViewModel = new AddAdminFieldViewModel(null, null, "Answer");
            var initialTempData  = new AddAdminFieldData(initialViewModel);

            controller.TempData.Set(initialTempData);

            var          expectedViewModel = new AddAdminFieldViewModel(null, "Answer");
            const string action            = "addPrompt";

            // When
            controller.AddAdminField(1, initialViewModel, action);

            // Then
            using (new AssertionScope())
            {
                AssertAddTempDataIsExpected(expectedViewModel);
            }
        }
Ejemplo n.º 7
0
        public void AddAdminFieldAnswersBulk_updates_temp_data_and_redirects_to_add()
        {
            // Given
            var inputViewModel      = new AddBulkAdminFieldAnswersViewModel("Test\r\nAnswer", 1);
            var initialAddViewModel = new AddAdminFieldViewModel(1, "Test");
            var expectedViewModel   = new AddAdminFieldViewModel(1, "Test\r\nAnswer");
            var initialTempData     = new AddAdminFieldData(initialAddViewModel);

            controller.TempData.Set(initialTempData);

            // When
            var result = controller.AddAdminFieldAnswersBulk(1, inputViewModel);

            // Then
            using (new AssertionScope())
            {
                AssertAddTempDataIsExpected(expectedViewModel);
                result.Should().BeRedirectToActionResult().WithActionName("AddAdminField");
            }
        }
Ejemplo n.º 8
0
        public void AddAdminField_add_configures_new_answer_and_updates_temp_data()
        {
            var initialViewModel = new AddAdminFieldViewModel(1, "Test", "Answer");
            var initialTempData  = new AddAdminFieldData(initialViewModel);

            controller.TempData.Set(initialTempData);

            var          expectedViewModel = new AddAdminFieldViewModel(1, "Test\r\nAnswer");
            const string action            = "addPrompt";

            // When
            var result =
                controller.AddAdminField(1, initialViewModel, action);

            // Then
            using (new AssertionScope())
            {
                AssertAddTempDataIsExpected(expectedViewModel);
                result.As <ViewResult>().Model.Should().BeOfType <AddAdminFieldViewModel>();
                AssertNumberOfConfiguredAnswersOnView(result, 2);
            }
        }
Ejemplo n.º 9
0
        public void AddAdminField_save_redirects_successfully_without_answers_configured()
        {
            // Given
            var          model           = new AddAdminFieldViewModel(1, null);
            const string action          = "save";
            var          initialTempData = new AddAdminFieldData(model);

            controller.TempData.Set(initialTempData);

            A.CallTo(
                () => courseAdminFieldsService.AddCustomPromptToCourse(
                    100,
                    1,
                    null
                    )
                ).Returns(true);

            // When
            var result = controller.AddAdminField(100, model, action);

            // Then
            result.Should().BeRedirectToActionResult().WithActionName("Index");
        }
Ejemplo n.º 10
0
        public void AddAdminField_adds_model_error_if_new_answer_surpasses_character_limit(
            string optionsString,
            string newAnswerInput,
            string expectedErrorMessage
            )
        {
            // Given
            var initialViewModel = new AddAdminFieldViewModel(1, optionsString, newAnswerInput);
            var initialTempData  = new AddAdminFieldData(initialViewModel);

            controller.TempData.Set(initialTempData);
            const string action = "addPrompt";

            // When
            var result =
                controller.AddAdminField(1, initialViewModel, action);

            // Then
            using (new AssertionScope())
            {
                result.As <ViewResult>().Model.Should().BeOfType <AddAdminFieldViewModel>();
                AssertModelStateErrorIsExpected(result, expectedErrorMessage);
            }
        }