Skip to content
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
0a0c674
[MBL-17725][Student] Grade screen design changes
kristofnemere Sep 12, 2025
251480c
Merge branch 'master' into student-grades-redesign
kristofnemere Nov 18, 2025
53aa350
Resolved conflicts
kristofnemere Nov 18, 2025
57ab7e8
[MBL-17254][All] What-if Scores UI implementation
kristofnemere Nov 20, 2025
3b0223a
Merge branch 'master' into MBL-17254-what-if-grades
kristofnemere Dec 1, 2025
abd87a0
[MBL-17254] Implement what-if grade calculations and display
kristofnemere Dec 1, 2025
b1d2abd
what-if grades
kristofnemere Dec 4, 2025
e308e28
restrict parent what-if
kristofnemere Dec 4, 2025
455900c
Refactor GradesScreen for improved maintainability
kristofnemere Dec 12, 2025
33385f1
Add grading period display and improve UI tests
kristofnemere Dec 12, 2025
b340982
Add comprehensive what-if grade tests with GradeCalculator verification
kristofnemere Dec 15, 2025
11afe1c
Add reset button to what-if dialog and comprehensive GradeCalculator …
kristofnemere Dec 15, 2025
967859e
Remove unnecessary restrictQuantitativeData check from calculateWhatI…
kristofnemere Dec 16, 2025
6361393
[MBL-17254] Add what-if grade functionality with local calculation
kristofnemere Dec 16, 2025
ce7a0d7
Fix StudentGradesRepositoryTest unit test
kristofnemere Dec 16, 2025
c703ffc
Merge branch 'master' into MBL-17254-what-if-grades
kristofnemere Dec 16, 2025
0688551
Test fix
kristofnemere Dec 16, 2025
6943836
Test fix
kristofnemere Dec 16, 2025
2239f4c
Add Canvas LMS parity tests and fix floating point precision
kristofnemere Dec 17, 2025
3a7a3c7
CRs
kristofnemere Dec 19, 2025
dff8dd8
CRs
kristofnemere Dec 19, 2025
067591c
Merge branch 'master' into MBL-17254-what-if-grades
kristofnemere Jan 14, 2026
be02fc6
Show grading period on Grades screen only when there are more periods
kristofnemere Jan 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ package com.instructure.parentapp.di.feature
import com.instructure.canvasapi2.apis.AssignmentAPI
import com.instructure.canvasapi2.apis.CourseAPI
import com.instructure.canvasapi2.managers.graphql.CustomGradeStatusesManager
import com.instructure.pandautils.features.grades.GradesBehaviour
import com.instructure.canvasapi2.models.Course
import com.instructure.pandautils.features.grades.GradesRepository
import com.instructure.parentapp.features.grades.ParentGradesBehaviour
import com.instructure.pandautils.features.grades.GradesViewModelBehavior
import com.instructure.parentapp.features.grades.ParentGradesRepository
import com.instructure.parentapp.util.ParentPrefs
import dagger.Module
Expand All @@ -45,9 +45,11 @@ class GradesModule {
}

@Provides
fun provideGradesBehaviour(
parentPrefs: ParentPrefs
): GradesBehaviour {
return ParentGradesBehaviour(parentPrefs)
fun provideGradesViewModelBehavior(): GradesViewModelBehavior {
return object : GradesViewModelBehavior {
override fun isWhatIfGradingEnabled(course: Course): Boolean {
return course.settings?.restrictQuantitativeData != true
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,16 @@ import androidx.lifecycle.viewmodel.compose.viewModel
import com.instructure.pandautils.features.grades.GradesScreen
import com.instructure.pandautils.features.grades.GradesViewModel
import com.instructure.pandautils.features.grades.GradesViewModelAction
import com.instructure.pandautils.utils.studentColor
import com.instructure.parentapp.util.ParentPrefs


@Composable
internal fun ParentGradesScreen(
navigateToAssignmentDetails: (Long, Long) -> Unit
) {
val gradesViewModel: GradesViewModel = viewModel()
val gradeUiState by remember { gradesViewModel.uiState }.collectAsState()
val gradesUiState by remember { gradesViewModel.uiState }.collectAsState()
val events = gradesViewModel.events
LaunchedEffect(events) {
events.collect { action ->
Expand All @@ -45,5 +47,5 @@ internal fun ParentGradesScreen(
}
}

GradesScreen(gradeUiState, gradesViewModel::handleAction)
GradesScreen(gradesUiState, gradesViewModel::handleAction, ParentPrefs.currentStudent.studentColor)
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import com.instructure.pandautils.utils.LogoutHelper
import com.instructure.student.espresso.fakes.FakeEnabledTabs
import com.instructure.student.router.EnabledTabs
import com.instructure.student.util.StudentLogoutHelper
import com.instructure.student.util.StudentPrefs
import dagger.Module
import dagger.Provides
import dagger.hilt.components.SingletonComponent
Expand All @@ -26,4 +27,10 @@ class TestApplicationModule {
fun provideEnabledTabs(): EnabledTabs {
return FakeEnabledTabs()
}

@Provides
@Singleton
fun provideStudentPrefs(): StudentPrefs {
return StudentPrefs
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import com.instructure.canvas.espresso.Priority
import com.instructure.canvas.espresso.TestCategory
import com.instructure.canvas.espresso.TestMetaData
import com.instructure.canvas.espresso.annotations.E2E
import com.instructure.canvas.espresso.annotations.Stub
import com.instructure.canvas.espresso.containsTextCaseInsensitive
import com.instructure.dataseeding.api.AssignmentsApi
import com.instructure.dataseeding.api.QuizzesApi
Expand All @@ -34,6 +35,7 @@ class GradesE2ETest: StudentComposeTest() {

override fun enableAndConfigureAccessibilityChecks() = Unit

@Stub("Grades screen has been redesigned, needs to be fixed in ticket MBL-19258")
@E2E
@Test
@TestMetaData(Priority.MANDATORY, FeatureCategory.GRADES, TestCategory.E2E)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import com.instructure.canvas.espresso.Priority
import com.instructure.canvas.espresso.TestCategory
import com.instructure.canvas.espresso.TestMetaData
import com.instructure.canvas.espresso.annotations.E2E
import com.instructure.canvas.espresso.annotations.Stub
import com.instructure.canvas.espresso.containsTextCaseInsensitive
import com.instructure.canvas.espresso.pressBackButton
import com.instructure.dataseeding.api.QuizzesApi
Expand All @@ -50,6 +51,7 @@ class QuizzesE2ETest: StudentTest() {

override fun enableAndConfigureAccessibilityChecks() = Unit

@Stub("Grades screen has been redesigned, needs to be fixed in ticket MBL-19258")
@E2E
@Test
@TestMetaData(Priority.MANDATORY, FeatureCategory.PAGES, TestCategory.E2E)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1127,6 +1127,7 @@ class AssignmentsE2ETest: StudentComposeTest() {
dashboardPage.assertCourseGrade(course.name, "49.47%")
}

@Stub("Grades screen has been redesigned, needs to be fixed in ticket MBL-19258")
@E2E
@Test
@TestMetaData(Priority.IMPORTANT, FeatureCategory.GRADES, TestCategory.E2E)
Expand Down
Loading
Loading