'View content as staff, student in Cohort A, student in Cohort B, Verified Student, Audit student,
and student in Default Cohort.'

def view_cohorted_content_as_different_users(self):

    courseware_page = CoursewarePage(self.browser, self.course_id)
    def login_and_verify_visible_problems(username, email, expected_problems, track=None):
        AutoAuthPage(self.browser, username=username, email=email, course_id=self.course_id).visit()
        if (track is not None):
            enroll_user_track(self.browser, self.course_id, track)
        courseware_page.visit()
        verify_expected_problem_visibility(self, courseware_page, expected_problems)
    login_and_verify_visible_problems(self.staff_user['username'], self.staff_user['email'], [self.group_a_problem, self.group_b_problem, self.group_verified_problem, self.group_audit_problem, self.group_a_and_b_problem, self.visible_to_all_problem])
    login_and_verify_visible_problems(self.cohort_a_student_username, self.cohort_a_student_email, [self.group_a_problem, self.group_audit_problem, self.group_a_and_b_problem, self.visible_to_all_problem])
    login_and_verify_visible_problems(self.cohort_b_student_username, self.cohort_b_student_email, [self.group_b_problem, self.group_audit_problem, self.group_a_and_b_problem, self.visible_to_all_problem])
    login_and_verify_visible_problems(self.cohort_verified_student_username, self.cohort_verified_student_email, [self.group_verified_problem, self.visible_to_all_problem], 'verified')
    login_and_verify_visible_problems(self.cohort_audit_student_username, self.cohort_audit_student_email, [self.group_audit_problem, self.visible_to_all_problem], 'audit')
    login_and_verify_visible_problems(self.cohort_default_student_username, self.cohort_default_student_email, [self.group_audit_problem, self.visible_to_all_problem])
