/// <summary> /// Constructor. /// </summary> public UpdatedSectionAssignmentsViewModel( UpdatedSectionAssignmentResults results, SelectAssignmentReport markAssignmentsGraded, ITimeZoneProvider timeZoneProvider, IAssignmentDisplayProviderFactory displayProviderFactory) { SectionName = results.SectionName; GradebookName = results.GradebookName; StartDate = results.AssignmentsLastGradedDate != DateTime.MinValue ? results.AssignmentsLastGradedDate .FormatLongDateTime(timeZoneProvider) : "The beginning"; EndDate = results.ResultsRetrievedDate.FormatLongDateTime(timeZoneProvider); AssignmentResults = results.AssignmentResults.Select ( result => new AssignmentUpdatesViewModel ( result, displayProviderFactory ) ).ToList(); MarkAssignmentsGraded = markAssignmentsGraded; }
public async Task GetUpdatedAssignmentResultsAsync_ReturnsResults() { var database = GetDatabaseWithSubmissions() .AddSectionGradebook("Class1", "Gradebook1", "Period1", AssignmentDueDate) .Build(); database.Reload(); var expectedResults = new UpdatedSectionAssignmentResults ( null, null, DateTime.MinValue, DateTime.MinValue, null ); var updatedAssignmentReportGenerator = new Mock <IUpdatedAssignmentReportGenerator>(); updatedAssignmentReportGenerator .Setup ( asc => asc.GetUpdatedAssignmentGroupResults ( It.Is <IList <Assignment> > ( assignments => ValidateAssignments ( assignments, true /*includePrivate*/ ) ), It.Is <IList <User> >(users => ValidateSectionUsers(users)), It.Is <Section>(section => section.Name == "Period1"), "Gradebook1", AssignmentDueDate, It.Is <IList <UserQuestionSubmission> >(submissions => ValidateSectionSubmissions(submissions)) ) ).Returns(expectedResults); var assignmentService = GetAssignmentService ( database.Context, updatedAssignmentReportGenerator: updatedAssignmentReportGenerator.Object ); var actualResults = await assignmentService.GetUpdatedAssignmentResultsAsync ( "Class1", "Period1", "Gradebook1" ); Assert.Equal(expectedResults, actualResults); }