コード例 #1
0
        public void CreateSubmissin_ShouldRedirectToSubmission()
        {
            // Arrange
            var mockSubmitService          = new Mock <ISubmitService>();
            var mockAuthenticationProvider = new Mock <IAuthenticationProvider>();
            var mockViewModelFactory       = new Mock <IViewModelFactory>();

            var controller = new SubmitController(mockSubmitService.Object,
                                                  mockAuthenticationProvider.Object,
                                                  mockViewModelFactory.Object);

            var fakeNewSubmitViewModel = new NewSubmitViewModel();

            var fakeSubmission = new Submission
            {
                Id = 0
            };

            mockSubmitService.Setup(x => x.CreateSubmission(It.IsAny <string>(),
                                                            It.IsAny <int>(),
                                                            It.IsAny <string>(),
                                                            It.IsAny <string>(),
                                                            It.IsAny <string[]>()))
            .Returns(fakeSubmission);

            //Act
            controller.WithCallTo(x => x.New(fakeNewSubmitViewModel))
            .ShouldRedirectTo(x => x.Submission);
        }
コード例 #2
0
        public void CreateSubmission_ShouldCallSubmitServiceCreateSubmission()
        {
            // Arrange
            var mockSubmitService          = new Mock <ISubmitService>();
            var mockAuthenticationProvider = new Mock <IAuthenticationProvider>();
            var mockViewModelFactory       = new Mock <IViewModelFactory>();

            var controller = new SubmitController(mockSubmitService.Object,
                                                  mockAuthenticationProvider.Object,
                                                  mockViewModelFactory.Object);

            var fakeNewSubmitViewModel = new NewSubmitViewModel();

            var fakeSubmission = new Submission
            {
                Id = 0
            };

            mockSubmitService.Setup(x => x.CreateSubmission(It.IsAny <string>(),
                                                            It.IsAny <int>(),
                                                            It.IsAny <string>(),
                                                            It.IsAny <string>(),
                                                            It.IsAny <string[]>()))
            .Returns(fakeSubmission);

            //Act
            controller.New(fakeNewSubmitViewModel);

            //Assert
            mockSubmitService.Verify(x => x.CreateSubmission(It.IsAny <string>(),
                                                             It.IsAny <int>(),
                                                             It.IsAny <string>(),
                                                             It.IsAny <string>(),
                                                             It.IsAny <string[]>()), Times.Once);
        }
コード例 #3
0
        public RedirectToRouteResult New(NewSubmitViewModel viewModel)
        {
            var userId = authenticationProvider.CurrentUserId;

            var submission = this.submitService.CreateSubmission(userId,
                                                                 viewModel.CategoryId,
                                                                 viewModel.Condition,
                                                                 viewModel.CorrectAnswer,
                                                                 viewModel.IncorrectAnswers
                                                                 );

            return(this.RedirectToAction("Submission", new { id = submission.Id }));
        }