public async Task TestQuestion1SavesCurrentName() { // Arrange var response = SurveyResponse.CreateNew(FakeNow); response.Respondent.Name = "Wrong name"; var clientStorage = Substitute.For <IClientSideStorageService>(); var dateTime = Substitute.For <IDateTimeService>(); var repo = Substitute.For <ISurveyResponseRepository>(); var controller = new SurveyController(clientStorage, dateTime, null, null, repo) { CurrentResponse = response }; var questionAnswer = new NameQuestionViewModel { Answer = ExcellentName }; // Act var result = await controller.Question1(questionAnswer); // Assert await repo.Received().SaveChanges(); Assert.IsType <RedirectToActionResult>(result); Assert.Equal(ExcellentName, controller.CurrentResponse.Respondent.Name); }
public async Task <IActionResult> Question1(NameQuestionViewModel question) { CurrentResponse.Respondent.Name = question.Answer; CurrentResponse.Modified(_dateTime.Now); await _surveyResponseRepository.SaveChanges(); return(RedirectToAction("Question2")); }