def setUp(self): """ Initialize the test. Create the necessary page objects, create course page and courses to find. """ super(RegisterCourseTests, self).setUp() # create test file in which index for this test will live with open(self.TEST_INDEX_FILENAME, "w+") as index_file: json.dump({}, index_file) self.addCleanup(remove_file, self.TEST_INDEX_FILENAME) self.course_discovery = CourseDiscoveryPage(self.browser) self.dashboard_page = DashboardPage(self.browser) self.course_about = CourseAboutPage(self.browser, self.course_id) # Create a course CourseFixture(self.course_info['org'], self.course_info['number'], self.course_info['run'], self.course_info['display_name'], settings={ 'enrollment_start': datetime(1970, 1, 1).isoformat() }).install() # Create a user and log them in AutoAuthPage(self.browser).visit()
class RegisterCourseTests(EventsTestMixin, UniqueCourseTest): """Test that learner can enroll into a course from courses page""" TEST_INDEX_FILENAME = "test_root/index_file.dat" def setUp(self): """ Initialize the test. Create the necessary page objects, create course page and courses to find. """ super(RegisterCourseTests, self).setUp() # create test file in which index for this test will live with open(self.TEST_INDEX_FILENAME, "w+") as index_file: json.dump({}, index_file) self.addCleanup(remove_file, self.TEST_INDEX_FILENAME) self.course_discovery = CourseDiscoveryPage(self.browser) self.dashboard_page = DashboardPage(self.browser) self.course_about = CourseAboutPage(self.browser, self.course_id) # Create a course CourseFixture(self.course_info['org'], self.course_info['number'], self.course_info['run'], self.course_info['display_name'], settings={ 'enrollment_start': datetime(1970, 1, 1).isoformat() }).install() # Create a user and log them in AutoAuthPage(self.browser).visit() def test_register_for_course(self): """ Scenario: I can register for a course Given The course "6.002x" exists And I am logged in And I visit the courses page When I register for the course "6.002x" Then I should see the course numbered "6.002x" in my dashboard And a "edx.course.enrollment.activated" server event is emitted """ # Navigate to the dashboard self.course_discovery.visit() self.course_discovery.click_course(self.course_id) self.course_about.wait_for_page() self.course_about.enroll_in_course() self.dashboard_page.wait_for_page() self.assertTrue(self.dashboard_page.is_course_present(self.course_id)) self.assert_matching_events_were_emitted(event_filter={ 'name': u'edx.course.enrollment.activated', 'event_source': 'server' })
class RegisterCourseTests(EventsTestMixin, UniqueCourseTest): """Test that learner can enroll into a course from courses page""" TEST_INDEX_FILENAME = "test_root/index_file.dat" def setUp(self): """ Initialize the test. Create the necessary page objects, create course page and courses to find. """ super(RegisterCourseTests, self).setUp() # create test file in which index for this test will live with open(self.TEST_INDEX_FILENAME, "w+") as index_file: json.dump({}, index_file) self.addCleanup(remove_file, self.TEST_INDEX_FILENAME) self.course_discovery = CourseDiscoveryPage(self.browser) self.dashboard_page = DashboardPage(self.browser) self.course_about = CourseAboutPage(self.browser, self.course_id) # Create a course CourseFixture( self.course_info['org'], self.course_info['number'], self.course_info['run'], self.course_info['display_name'], settings={'enrollment_start': datetime(1970, 1, 1).isoformat()} ).install() # Create a user and log them in AutoAuthPage(self.browser).visit() def test_register_for_course(self): """ Scenario: I can register for a course Given The course "6.002x" exists And I am logged in And I visit the courses page When I register for the course "6.002x" Then I should see the course numbered "6.002x" in my dashboard And a "edx.course.enrollment.activated" server event is emitted """ # Navigate to the dashboard self.course_discovery.visit() self.course_discovery.click_course(self.course_id) self.course_about.wait_for_page() self.course_about.enroll_in_course() self.dashboard_page.wait_for_page() self.assertTrue(self.dashboard_page.is_course_present(self.course_id)) self.assert_matching_events_were_emitted( event_filter={'name': u'edx.course.enrollment.activated', 'event_source': 'server'} )
class CourseDiscoveryTest(AcceptanceTest): """ Test searching for courses. """ shard = 20 STAFF_USERNAME = "******" STAFF_EMAIL = "*****@*****.**" TEST_INDEX_FILENAME = "test_root/index_file.dat" def setUp(self): """ Create course page and courses to find """ # create index file with open(self.TEST_INDEX_FILENAME, "w+") as index_file: json.dump({}, index_file) self.addCleanup(remove_file, self.TEST_INDEX_FILENAME) super(CourseDiscoveryTest, self).setUp() self.page = CourseDiscoveryPage(self.browser) for i in range(12): org = 'test_org' number = "{}{}".format(str(i), str(uuid.uuid4().get_hex().upper()[0:6])) run = "test_run" name = "test course" if i < 10 else "grass is always greener" settings = { 'enrollment_start': datetime.datetime(1970, 1, 1).isoformat() } CourseFixture(org, number, run, name, settings=settings).install() def _auto_auth(self, username, email, staff): """ Logout and login with given credentials. """ LogoutPage(self.browser).visit() AutoAuthPage(self.browser, username=username, email=email, staff=staff).visit() def test_page_existence(self): """ Make sure that the page is accessible. """ self.page.visit() def test_search(self): """ Make sure you can search for courses. """ self.page.visit() self.assertEqual(len(self.page.result_items), 12) self.page.search("grass") self.assertEqual(len(self.page.result_items), 2) self.page.clear_search() self.assertEqual(len(self.page.result_items), 12)
def setUp(self): """ Initialize the test. Create the necessary page objects, create course page and courses to find. """ super(RegisterCourseTests, self).setUp() # create test file in which index for this test will live with open(self.TEST_INDEX_FILENAME, "w+") as index_file: json.dump({}, index_file) self.addCleanup(remove_file, self.TEST_INDEX_FILENAME) self.course_discovery = CourseDiscoveryPage(self.browser) self.dashboard_page = DashboardPage(self.browser) self.course_about = CourseAboutPage(self.browser, self.course_id) # Create a course CourseFixture( self.course_info['org'], self.course_info['number'], self.course_info['run'], self.course_info['display_name'], settings={'enrollment_start': datetime(1970, 1, 1).isoformat()} ).install() # Create a user and log them in AutoAuthPage(self.browser).visit()
class CourseDiscoveryTest(AcceptanceTest): """ Test searching for courses. """ shard = 20 STAFF_USERNAME = "******" STAFF_EMAIL = "*****@*****.**" TEST_INDEX_FILENAME = "test_root/index_file.dat" def setUp(self): """ Create course page and courses to find """ # create index file with open(self.TEST_INDEX_FILENAME, "w+") as index_file: json.dump({}, index_file) self.addCleanup(remove_file, self.TEST_INDEX_FILENAME) super(CourseDiscoveryTest, self).setUp() self.page = CourseDiscoveryPage(self.browser) for i in range(12): org = 'test_org' number = "{}{}".format(str(i), str(uuid.uuid4().get_hex().upper()[0:6])) run = "test_run" name = "test course" if i < 10 else "grass is always greener" settings = {'enrollment_start': datetime.datetime(1970, 1, 1).isoformat()} CourseFixture(org, number, run, name, settings=settings).install() def _auto_auth(self, username, email, staff): """ Logout and login with given credentials. """ LogoutPage(self.browser).visit() AutoAuthPage(self.browser, username=username, email=email, staff=staff).visit() def test_page_existence(self): """ Make sure that the page is accessible. """ self.page.visit() def test_search(self): """ Make sure you can search for courses. """ self.page.visit() self.assertEqual(len(self.page.result_items), 12) self.page.search("grass") self.assertEqual(len(self.page.result_items), 2) self.page.clear_search() self.assertEqual(len(self.page.result_items), 12)
def setUp(self): """ Create course page and courses to find """ # create index file with open(self.TEST_INDEX_FILENAME, "w+") as index_file: json.dump({}, index_file) self.addCleanup(remove_file, self.TEST_INDEX_FILENAME) super(CourseDiscoveryTest, self).setUp() self.page = CourseDiscoveryPage(self.browser) for i in range(12): org = 'test_org' number = "{}{}".format(str(i), str(uuid.uuid4().hex.upper()[0:6])) run = "test_run" name = "test course" if i < 10 else "grass is always greener" settings = {'enrollment_start': datetime.datetime(1970, 1, 1).isoformat()} CourseFixture(org, number, run, name, settings=settings).install()
def setUp(self): """ Create course page and courses to find """ # create index file with open(self.TEST_INDEX_FILENAME, "w+") as index_file: json.dump({}, index_file) self.addCleanup(remove_file, self.TEST_INDEX_FILENAME) super(CourseDiscoveryTest, self).setUp() self.page = CourseDiscoveryPage(self.browser) for i in range(12): org = 'test_org' number = "{}{}".format(str(i), str(uuid.uuid4().get_hex().upper()[0:6])) run = "test_run" name = "test course" if i < 10 else "grass is always greener" settings = {'enrollment_start': datetime.datetime(1970, 1, 1).isoformat()} CourseFixture(org, number, run, name, settings=settings).install()