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