Example #1
0
        public void RedirectToFinish_WhenNextStepIsCalled()
        {
            // Arrange
            int    phaseNumber            = 2;
            int    stepNumber             = 20;
            string expectedRedirectAction = "Finish";

            var mockSessionStorage = new Mock <ISessionStorage>();

            mockSessionStorage
            .Setup(x => x.GetString(StroopTestController.SESSION_PHASE_NUMBER_KEY))
            .Returns(phaseNumber.ToString());
            mockSessionStorage
            .Setup(x => x.GetString(StroopTestController.SESSION_STEP_NUMBER_KEY))
            .Returns(stepNumber.ToString());

            var mockColorProvider = new Mock <IColorProvider>();
            var settings          = new StroopTestSettings();

            var controller = new StroopTestController(mockSessionStorage.Object, mockColorProvider.Object, settings);

            // Act
            var actual = controller.NextStep();

            // Assert
            var redirectResult = Assert.IsType <RedirectToActionResult>(actual);

            Assert.Null(redirectResult.ControllerName);
            Assert.Equal(expectedRedirectAction, redirectResult.ActionName);
        }
Example #2
0
        public void ReturnAViewResult_WhenNextStepIsCalled(int phaseNumber, int stepNumber, int expectedPhaseNumber, int expectedStepNumber)
        {
            // Arrange
            var expectedColorModel = new ColorsModel()
            {
                ColorAsHex  = "#FF0000",
                ColorAsWord = Color.BLUE
            };
            var expectedModels = TestDatas.GetFakeTestPhaseModels();

            var mockSessionStorage = new Mock <ISessionStorage>();

            mockSessionStorage
            .Setup(x => x.GetObjectFromJson <List <TestPhaseModel> >(It.IsAny <string>()))
            .Returns(expectedModels);
            mockSessionStorage
            .Setup(x => x.GetString(StroopTestController.SESSION_PHASE_NUMBER_KEY))
            .Returns(phaseNumber.ToString());

            mockSessionStorage
            .Setup(x => x.GetString(StroopTestController.SESSION_STEP_NUMBER_KEY))
            .Returns(stepNumber.ToString());

            var mockColorProvider = new Mock <IColorProvider>();

            var settings = new StroopTestSettings();

            var controller = new StroopTestController(mockSessionStorage.Object, mockColorProvider.Object, settings);

            // Act
            var actual = controller.NextStep();

            // Assert
            var viewResult = Assert.IsType <ViewResult>(actual);
            var model      = Assert.IsType <StepModel>(viewResult.ViewData.Model);

            Assert.Equal(expectedPhaseNumber, model.PhaseNumber);
            Assert.Equal(expectedStepNumber, model.StepNumber);
        }