From 0e585e4c351263d570af4bd23cb883c37fd37acf Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Wed, 26 Feb 2020 09:45:20 -0500 Subject: [PATCH] Delete studio create course UI tests. We don't use this UI for creating courses anymore. This is done via publisher. So while the underlying APIs need to work. The UI is not as valuable to test. --- .../tests/studio/test_studio_course_create.py | 213 ------------------ 1 file changed, 213 deletions(-) delete mode 100644 common/test/acceptance/tests/studio/test_studio_course_create.py diff --git a/common/test/acceptance/tests/studio/test_studio_course_create.py b/common/test/acceptance/tests/studio/test_studio_course_create.py deleted file mode 100644 index e0036ebe28..0000000000 --- a/common/test/acceptance/tests/studio/test_studio_course_create.py +++ /dev/null @@ -1,213 +0,0 @@ -""" -Acceptance tests for course creation. -""" - - -import random -import string -import uuid - -from six.moves import range - -from common.test.acceptance.pages.common.auto_auth import AutoAuthPage -from common.test.acceptance.pages.studio.index import DashboardPage -from common.test.acceptance.pages.studio.overview import CourseOutlinePage -from common.test.acceptance.tests.helpers import AcceptanceTest - - -class CreateCourseTest(AcceptanceTest): - """ - Test that we can create a new course the studio home page. - """ - shard = 19 - - def setUp(self): - """ - Load the helper for the home page (dashboard page) - """ - super(CreateCourseTest, self).setUp() - - self.auth_page = AutoAuthPage(self.browser, staff=True) - self.dashboard_page = DashboardPage(self.browser) - self.course_name = "New Course Name" - self.course_org = "orgX" - self.course_number = str(uuid.uuid4().hex.upper()[0:6]) - self.course_run = "2015_T2" - - def test_create_course_with_non_existing_org(self): - """ - Scenario: Ensure that the course creation with non existing org display proper error message. - Given I have filled course creation form with a non existing and all required fields - When I click 'Create' button - Form validation should pass - Then I see the error message explaining reason for failure to create course - """ - - self.auth_page.visit() - self.dashboard_page.visit() - self.assertFalse(self.dashboard_page.has_course( - org='testOrg', number=self.course_number, run=self.course_run - )) - self.assertTrue(self.dashboard_page.new_course_button.present) - - self.dashboard_page.click_new_course_button() - self.assertTrue(self.dashboard_page.is_new_course_form_visible()) - self.dashboard_page.fill_new_course_form( - self.course_name, 'testOrg', self.course_number, self.course_run - ) - self.assertTrue(self.dashboard_page.is_new_course_form_valid()) - self.dashboard_page.submit_new_course_form() - self.assertTrue(self.dashboard_page.error_notification.present) - self.assertIn( - u'Organization you selected does not exist in the system', self.dashboard_page.error_notification_message - ) - - def test_create_course_with_existing_org(self): - """ - Scenario: Ensure that the course creation with an existing org should be successful. - Given I have filled course creation form with an existing org and all required fields - When I click 'Create' button - Form validation should pass - Then I see the course listing page with newly created course - """ - - self.auth_page.visit() - self.dashboard_page.visit() - self.assertFalse(self.dashboard_page.has_course( - org=self.course_org, number=self.course_number, run=self.course_run - )) - self.assertTrue(self.dashboard_page.new_course_button.present) - - self.dashboard_page.click_new_course_button() - self.assertTrue(self.dashboard_page.is_new_course_form_visible()) - self.dashboard_page.fill_new_course_form( - self.course_name, self.course_org, self.course_number, self.course_run - ) - self.assertTrue(self.dashboard_page.is_new_course_form_valid()) - self.dashboard_page.submit_new_course_form() - - # Successful creation of course takes user to course outline page - course_outline_page = CourseOutlinePage( - self.browser, - self.course_org, - self.course_number, - self.course_run - ) - course_outline_page.visit() - course_outline_page.wait_for_page() - - # Go back to dashboard and verify newly created course exists there - self.dashboard_page.visit() - self.assertTrue(self.dashboard_page.has_course( - org=self.course_org, number=self.course_number, run=self.course_run - )) - # Click on the course listing and verify that the Studio course outline page opens. - self.dashboard_page.click_course_run(self.course_run) - course_outline_page.wait_for_page() - - def test_create_course_with_existing_org_via_autocomplete(self): - """ - Scenario: Ensure that the course creation with an existing org should be successful. - Given I have filled course creation form with an existing org and all required fields - And I selected `Course Organization` input via autocomplete - When I click 'Create' button - Form validation should pass - Then I see the course listing page with newly created course - """ - - self.auth_page.visit() - self.dashboard_page.visit() - new_org = 'orgX2' - self.assertFalse(self.dashboard_page.has_course( - org=new_org, number=self.course_number, run=self.course_run - )) - self.assertTrue(self.dashboard_page.new_course_button.present) - - self.dashboard_page.click_new_course_button() - self.assertTrue(self.dashboard_page.is_new_course_form_visible()) - self.dashboard_page.fill_new_course_form( - self.course_name, '', self.course_number, self.course_run - ) - self.dashboard_page.course_org_field.fill('org') - self.dashboard_page.select_item_in_autocomplete_widget(new_org) - self.assertTrue(self.dashboard_page.is_new_course_form_valid()) - self.dashboard_page.submit_new_course_form() - - # Successful creation of course takes user to course outline page - course_outline_page = CourseOutlinePage( - self.browser, - new_org, - self.course_number, - self.course_run - ) - course_outline_page.visit() - course_outline_page.wait_for_page() - - # Go back to dashboard and verify newly created course exists there - self.dashboard_page.visit() - self.assertTrue(self.dashboard_page.has_course( - org=new_org, number=self.course_number, run=self.course_run - )) - - def test_error_appears_with_long_tuple(self): - """ - Scenario: Ensure that the course creation is not successful with 66 characters long tuple. - Given I have filled course creation from with combined length of 66 characters for Organization, course Number - and course Run. - And I have a valid course name - Then form validation should not pass - And I see error for combined length longer than 65 - """ - course_org = "012345678901234567890123456789" - course_number = ''.join(random.choice(string.digits) for _ in range(30)) - course_run = "0123456" - self.auth_page.visit() - self.dashboard_page.visit() - self.assertTrue(self.dashboard_page.new_course_button.present) - self.dashboard_page.click_new_course_button() - self.assertTrue(self.dashboard_page.is_new_course_form_visible()) - self.dashboard_page.fill_new_course_form( - self.course_name, course_org, course_number, course_run - ) - self.assertEqual( - self.dashboard_page.course_creation_error_message, - 'The combined length of the organization, course number, and course run fields cannot be more than 65 ' - 'characters.' - ) - self.assertTrue(self.dashboard_page.is_create_button_disabled()) - - def test_no_error_appears_for_long_course_name(self): - """ - Scenario: Ensure that the course creation with 66 characters long course name is successful. - Given I have filled course creation form with 66 characters long course name. - And I have filled remaining form within the allowed characters length. - When I click 'Create' button - Form validation should pass - Then I see the course listing page with newly created course - """ - course_name = ''.join(random.choice(string.ascii_uppercase) for _ in range(66)) - self.auth_page.visit() - self.dashboard_page.visit() - self.assertFalse(self.dashboard_page.has_course( - org=self.course_org, number=self.course_number, run=self.course_run - )) - self.dashboard_page.click_new_course_button() - self.assertTrue(self.dashboard_page.is_new_course_form_visible()) - self.dashboard_page.fill_new_course_form( - course_name, self.course_org, self.course_number, self.course_run - ) - self.dashboard_page.submit_new_course_form() - # Successful creation of course takes user to course outline page - course_outline_page = CourseOutlinePage( - self.browser, - self.course_org, - self.course_number, - self.course_run - ) - course_outline_page.visit() - course_outline_page.wait_for_page() - self.dashboard_page.visit() - # Assert that course is present on dashboard - self.assertTrue(self.dashboard_page.has_course( - org=self.course_org, number=self.course_number, run=self.course_run - ))