mitodl / micromasters

Portal for learners and course teams to access MITx Micromasters® programs
https://mm.mit.edu
BSD 3-Clause "New" or "Revised" License
29 stars 17 forks source link

Update computation of final grades for courses with exams #5303

Closed annagav closed 1 year ago

annagav commented 1 year ago

What are the relevant tickets?

Fix https://github.com/mitodl/micromasters/issues/5301

What's this PR do?

Update the computation of the final grade for courses that have exams during the freeze process of final grades.

How should this be manually tested?

Take a look at the code and the tests, that they make sense.

The main change is that we don't want to rely on certificate data when we are freezing grades for MITxonline courses. Few assumptions made:

Where should the reviewer start?

nothing should brake.

pdpinch commented 1 year ago

If the enrollment status is ['verified', 'honor'], then paid_on_edx is true

This is correct. "honor" certificates were a legacy certificate mode before edX started taking payment circa 2015.

If the current grade passed=True then we the learner has a passing final grade, and also have passed the course.

This is almost always correct. The one exception will be the DEDP 3T2022 courses when the course team didn't plan ahead for changes to the grading policy. We can handle this manually by updating the passing state of the users who "passed" the course but did not pass the final exam. We should probably write up an issue to address this and implement it as soon as possible after this PR merges.