def METHOD_NAME(self, earned_graded_override, possible_graded_override):
    """
    Tests that when a PersistentSubsectionGradeOverride exists, the update()
    method returns a CreateSubsectionGrade with scores that account
    for the override.
    """
    # first, do an update to create a persistent grade
    with mock_get_score(2, 3):
        grade = self.subsection_grade_factory.update(self.sequence)
        self.assert_grade(grade, 2, 3)
    # there should only be one persistent grade
    persistent_grade = PersistentSubsectionGrade.objects.first()
    assert 2 == persistent_grade.earned_graded
    assert 3 == persistent_grade.possible_graded
    # Now create the override
    PersistentSubsectionGradeOverride.update_or_create_override(
        UserFactory(),
        persistent_grade,
        earned_graded_override=earned_graded_override,
        earned_all_override=earned_graded_override,
        possible_graded_override=possible_graded_override,
        feature=GradeOverrideFeatureEnum.gradebook,
    )
    # Now, even if the problem scores interface gives us a 2/3,
    # the subsection grade returned should be 0/3 due to the override.
    with mock_get_score(2, 3):
        grade = self.subsection_grade_factory.update(self.sequence)
        expected_earned = earned_graded_override
        if earned_graded_override is None:
            expected_earned = persistent_grade.earned_graded
        expected_possible = possible_graded_override
        if possible_graded_override is None:
            expected_possible = persistent_grade.possible_graded
        self.assert_grade(grade, expected_earned, expected_possible)