public async Task GetQuestionToSolveAsync_SeparateSubmissions_ReturnsAssignmentProgress() { var store = GetUserQuestionDataStore(interactive: true); var statusCalculator = GetMockQuestionStatusCalculator(store); var resolverFactory = GetMockQuestionResolverFactory(store); var assignmentProgress = new AssignmentProgress ( userId: 0, currentAssignmentQuestionId: 0, questions: null ); var assignmentProgressRetriever = GetMockAssignmentProgressRetriever ( store, assignmentProgress ); var questionSolver = GetQuestionSolver ( questionResolverFactory: resolverFactory, questionStatusCalculator: statusCalculator, assignmentProgressRetriever: assignmentProgressRetriever ); var result = await questionSolver.GetQuestionToSolveAsync ( store, assignmentQuestionId : 1 ); Assert.Equal(assignmentProgress, result.AssignmentProgress); }
/// <summary> /// Returns a mock assignment progress retriever. /// </summary> private IAssignmentProgressRetriever GetMockAssignmentProgressRetriever( UserQuestionDataStore store, AssignmentProgress assignmentProgress = null) { var assignmentProgressRetriever = new Mock <IAssignmentProgressRetriever>(); var uqd = store.GetUserQuestionData ( store.GetLoadedAssignmentQuestionIds()[0] ); assignmentProgressRetriever .Setup ( m => m.GetAssignmentProgressAsync ( uqd.AssignmentQuestion.AssignmentId, uqd.AssignmentQuestionId, uqd.UserId ) ).ReturnsAsync(assignmentProgress); return(assignmentProgressRetriever.Object); }
public StudentAssignmentProgress(Student student, StudyAssignment assignment, AssignmentProgress progress) { Student = student; Assignment = assignment; Progress = progress; }