public DelegateCourseInfoViewModel(DelegateCourseDetails details) { var info = details.DelegateCourseInfo; ProgressId = info.ProgressId; CustomisationId = info.CustomisationId; ApplicationName = info.ApplicationName; CustomisationName = info.CustomisationName; SupervisorForename = info.SupervisorForename; SupervisorSurname = info.SupervisorSurname; Enrolled = info.Enrolled.ToString(DateHelper.StandardDateFormat); LastUpdated = info.LastUpdated.ToString(DateHelper.StandardDateFormat); CompleteBy = info.CompleteBy?.ToString(DateHelper.StandardDateFormat); Completed = info.Completed?.ToString(DateHelper.StandardDateFormat); Evaluated = info.Evaluated?.ToString(DateHelper.StandardDateFormat); EnrolmentMethod = info.EnrolmentMethodId switch { 1 => "Self enrolled", 2 => "Administrator", 3 => "Group", 4 => "System", _ => "", }; LoginCount = info.LoginCount; LearningTime = info.LearningTime + " mins"; DiagnosticScore = info.DiagnosticScore; IsAssessed = info.IsAssessed; DelegateId = details.DelegateCourseInfo.DelegateId; CourseCustomPromptsWithAnswers = details.CustomPrompts; TotalAttempts = details.AttemptStats.TotalAttempts; AttemptsPassed = details.AttemptStats.AttemptsPassed; PassRate = details.AttemptStats.PassRate; }
public void DelegateCourseInfoViewModel_sets_date_strings_correctly() { // Given var enrolledDate = new DateTime(2021, 05, 1); var updatedDate = new DateTime(2021, 05, 2); var completeByDate = new DateTime(2021, 05, 3); var completedDate = new DateTime(2021, 05, 4); var evaluatedDate = new DateTime(2021, 05, 5); var info = new DelegateCourseInfo { Enrolled = enrolledDate, LastUpdated = updatedDate, CompleteBy = completeByDate, Completed = completedDate, Evaluated = evaluatedDate }; var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats); // When var model = new DelegateCourseInfoViewModel(details); // Then model.Enrolled.Should().Be("01/05/2021"); model.LastUpdated.Should().Be("02/05/2021"); model.CompleteBy.Should().Be("03/05/2021"); model.Completed.Should().Be("04/05/2021"); model.Evaluated.Should().Be("05/05/2021"); }
public DelegateProgressViewModel( DelegateProgressAccessRoute accessedVia, DelegateCourseDetails details ) : base(details) { AccessedVia = accessedVia; CustomisationCentreId = details.DelegateCourseInfo.CustomisationCentreId; IsCourseActive = details.DelegateCourseInfo.IsCourseActive; AllCentresCourse = details.DelegateCourseInfo.AllCentresCourse; CourseCategoryId = details.DelegateCourseInfo.CourseCategoryId; SupervisorAdminId = details.DelegateCourseInfo.SupervisorAdminId; EnrolmentMethodId = details.DelegateCourseInfo.EnrolmentMethodId; EnrolledByAdminId = details.DelegateCourseInfo.EnrolledByAdminId; EnrolledByForename = details.DelegateCourseInfo.EnrolledByForename; EnrolledBySurname = details.DelegateCourseInfo.EnrolledBySurname; RemovedDate = details.DelegateCourseInfo.RemovedDate?.ToString(DateHelper.StandardDateFormat); DelegateId = details.DelegateCourseInfo.DelegateId; DelegateFirstName = details.DelegateCourseInfo.DelegateFirstName; DelegateLastName = details.DelegateCourseInfo.DelegateLastName; DelegateEmail = details.DelegateCourseInfo.DelegateEmail; DelegateCentreId = details.DelegateCourseInfo.DelegateCentreId; CustomFields = details.CustomPrompts.Select( cp => new CustomFieldViewModel( cp.CustomPromptNumber, cp.CustomPromptText, cp.Mandatory, cp.Answer ) ) .ToList(); }
public void DelegateCourseInfoViewModel_without_customisation_name_sets_course_name_correctly() { // Given var info = new DelegateCourseInfo { ApplicationName = "my application", CustomisationName = "" }; var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats); // When var model = new DelegateCourseInfoViewModel(details); // Then model.CourseName.Should().Be("my application"); }
public void DelegateCourseInfoViewModel_without_supervisor_surname_sets_supervisor_correctly() { // Given var info = new DelegateCourseInfo { SupervisorSurname = null }; var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats); // When var model = new DelegateCourseInfoViewModel(details); // Then model.Supervisor.Should().BeNull(); }
public void DelegateCourseInfoViewModel_with_supervisor_forename_sets_supervisor_correctly() { // Given var info = new DelegateCourseInfo { SupervisorForename = "firstname", SupervisorSurname = "surname" }; var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats); // When var model = new DelegateCourseInfoViewModel(details); // Then model.Supervisor.Should().Be("firstname surname"); }
public void DelegateCourseInfoViewModel_sets_enrollment_method_correctly( int enrollmentMethodId, string enrollmentMethod ) { // Given var info = new DelegateCourseInfo { EnrolmentMethodId = enrollmentMethodId }; var details = new DelegateCourseDetails(info, customPromptsWithAnswers, attemptStats); // When var model = new DelegateCourseInfoViewModel(details); // Then model.EnrolmentMethod.Should().Be(enrollmentMethod); }
public void DelegateCourseInfoViewModel_sets_pass_rate_correctly( int totalAttempts, int attemptsPassed, string?passRate ) { // Given var details = new DelegateCourseDetails( new DelegateCourseInfo(), customPromptsWithAnswers, new AttemptStats(totalAttempts, attemptsPassed) ); // When var model = new DelegateCourseInfoViewModel(details); // Then model.PassRateDisplayString.Should().Be(passRate); }