'Test that problem scores are hidden from staff viewing a learner\'s progress page only if show_correctness=never.'

@ddt.data(('', None, False, True), ('', None, True, True), (ShowCorrectness.ALWAYS, None, False, True), (ShowCorrectness.ALWAYS, None, True, True), (ShowCorrectness.ALWAYS, YESTERDAY, False, True), (ShowCorrectness.ALWAYS, YESTERDAY, True, True), (ShowCorrectness.ALWAYS, TODAY, False, True), (ShowCorrectness.ALWAYS, TODAY, True, True), (ShowCorrectness.ALWAYS, TOMORROW, False, True), (ShowCorrectness.ALWAYS, TOMORROW, True, True), (ShowCorrectness.NEVER, None, False, False), (ShowCorrectness.NEVER, None, True, False), (ShowCorrectness.NEVER, YESTERDAY, False, False), (ShowCorrectness.NEVER, YESTERDAY, True, False), (ShowCorrectness.NEVER, TODAY, False, False), (ShowCorrectness.NEVER, TODAY, True, False), (ShowCorrectness.NEVER, TOMORROW, False, False), (ShowCorrectness.NEVER, TOMORROW, True, False), (ShowCorrectness.PAST_DUE, None, False, True), (ShowCorrectness.PAST_DUE, None, True, True), (ShowCorrectness.PAST_DUE, YESTERDAY, False, True), (ShowCorrectness.PAST_DUE, YESTERDAY, True, True), (ShowCorrectness.PAST_DUE, TODAY, False, True), (ShowCorrectness.PAST_DUE, TODAY, True, True), (ShowCorrectness.PAST_DUE, TOMORROW, False, True), (ShowCorrectness.PAST_DUE, TOMORROW, True, True))
@ddt.unpack
def test_progress_page_hide_scores_from_staff(self, show_correctness, due_date, graded, show_grades):

    self.setup_course(show_correctness=show_correctness, due_date=due_date, graded=graded)
    self.add_problem()
    self.client.login(username=self.staff_user.username, password='test')
    resp = self._get_student_progress_page()
    self.assert_progress_page_show_grades(resp, show_correctness, due_date, graded, show_grades, 0, 1, 0)
    self.answer_problem()
    resp = self._get_student_progress_page()
    self.assert_progress_page_show_grades(resp, show_correctness, due_date, graded, show_grades, 1, 1, 0.5)
