Beispiel #1
0
        /// <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;
        }
Beispiel #2
0
        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);
        }