public void TestGetUserAnswerFromSession() { var userSessionVm = new UserSessionVM { HasUserComeFromCheck = true, SubmissionVm = GetTestSubmissionVm() }; var mockRepo = new Mock <IGenericRepository <Submission> >(); var mockSchemaRepo = new Mock <IGenericRepository <Schema> >(); var mockSession = new Mock <ISessionService>(); mockSession.Setup(x => x.GetUserSessionVars()).Returns(userSessionVm).Verifiable(); var sut = new SubmissionService(mockRepo.Object, mockSchemaRepo.Object, mockSession.Object); //act var expected = userSessionVm.SubmissionVm.Answers.Where(v => v.QuestionId == "001").FirstOrDefault() .AnswerText; var result = sut.GetUserAnswerFromSession("001"); //assert result.Should().BeEquivalentTo(expected); mockSession.Verify(); }