def test_gated_subsection_in_lms_for_staff(self): """ Given that I am a staff member When I visit the LMS Courseware Then I can see all gated subsections Displayed along with notification banners Then if I masquerade as a student Then I cannot see a gated subsection When I fufill the gating prerequisite Then I can see the gated subsection (without a banner) """ self._setup_prereq() self._setup_gated_subsection() # Fulfill prerequisites for specific student self._auto_auth(self.STUDENT_USERNAME, self.STUDENT_EMAIL, False) self.courseware_page.visit() self._fulfill_prerequisite() self._auto_auth(self.STAFF_USERNAME, self.STAFF_EMAIL, True) self.courseware_page.visit() staff_page = StaffPage(self.browser, self.course_id) self.assertEqual(staff_page.staff_view_mode, 'Staff') self.assertEqual(self.courseware_page.num_subsections, 2) # Click on gated section and check for banner self.courseware_page.q( css='.chapter-content-container a').nth(1).click() self.courseware_page.wait_for_page() self.assertTrue(self.courseware_page.has_banner()) self.courseware_page.q( css='.chapter-content-container a').nth(0).click() self.courseware_page.wait_for_page() staff_page.set_staff_view_mode('Student') self.assertEqual(self.courseware_page.num_subsections, 1) self.assertFalse(self.courseware_page.has_banner()) staff_page.set_staff_view_mode_specific_student(self.STUDENT_USERNAME) self.assertEqual(self.courseware_page.num_subsections, 2) self.courseware_page.q( css='.chapter-content-container a').nth(1).click() self.courseware_page.wait_for_page() self.assertFalse(self.courseware_page.has_banner())
def test_gated_subsection_in_lms_for_staff(self): """ Given that I am a staff member When I visit the LMS Courseware Then I can see all gated subsections Displayed along with notification banners Then if I masquerade as a student Then I cannot see a gated subsection When I fufill the gating prerequisite Then I can see the gated subsection (without a banner) """ self._setup_prereq() self._setup_gated_subsection() # Fulfill prerequisites for specific student self._auto_auth(self.STUDENT_USERNAME, self.STUDENT_EMAIL, False) self.courseware_page.visit() self._fulfill_prerequisite() self._auto_auth(self.STAFF_USERNAME, self.STAFF_EMAIL, True) self.courseware_page.visit() staff_page = StaffPage(self.browser, self.course_id) self.assertEqual(staff_page.staff_view_mode, 'Staff') self.assertEqual(self.courseware_page.num_subsections, 2) # Click on gated section and check for banner self.courseware_page.q(css='.chapter-content-container a').nth(1).click() self.courseware_page.wait_for_page() self.assertTrue(self.courseware_page.has_banner()) self.courseware_page.q(css='.chapter-content-container a').nth(0).click() self.courseware_page.wait_for_page() staff_page.set_staff_view_mode('Student') self.assertEqual(self.courseware_page.num_subsections, 1) self.assertFalse(self.courseware_page.has_banner()) staff_page.set_staff_view_mode_specific_student(self.STUDENT_USERNAME) self.assertEqual(self.courseware_page.num_subsections, 2) self.courseware_page.q(css='.chapter-content-container a').nth(1).click() self.courseware_page.wait_for_page() self.assertFalse(self.courseware_page.has_banner())