From 079f3aa5f4f1d4415482cdba48ff8a10d6f5dfdd Mon Sep 17 00:00:00 2001
From: Will Daly <will@edx.org>
Date: Mon, 3 Feb 2014 16:25:53 -0500
Subject: [PATCH] Updated bok choy page objects setup.py Fix bug in url method
 of register page object Add dist directories to gitignore

---
 .gitignore                                    |  1 +
 .../{edxapp_pages => pages}/__init__.py       |  0
 .../{edxapp_pages => pages}/lms/__init__.py   |  0
 .../lms/course_about.py                       |  0
 .../lms/course_info.py                        |  0
 .../{edxapp_pages => pages}/lms/course_nav.py |  0
 .../lms/course_page.py                        |  0
 .../{edxapp_pages => pages}/lms/dashboard.py  |  0
 .../lms/find_courses.py                       |  0
 .../{edxapp_pages => pages}/lms/login.py      |  0
 .../lms/open_response.py                      |  0
 .../{edxapp_pages => pages}/lms/progress.py   |  0
 .../{edxapp_pages => pages}/lms/register.py   |  1 +
 .../{edxapp_pages => pages}/lms/tab_nav.py    |  0
 .../{edxapp_pages => pages}/lms/video.py      |  0
 .../studio/__init__.py                        |  0
 .../studio/asset_index.py                     |  0
 .../studio/auto_auth.py                       |  0
 .../studio/checklists.py                      |  0
 .../studio/course_import.py                   |  0
 .../studio/course_info.py                     |  0
 .../studio/course_page.py                     |  0
 .../studio/edit_subsection.py                 |  0
 .../studio/edit_tabs.py                       |  0
 .../{edxapp_pages => pages}/studio/export.py  |  0
 .../studio/howitworks.py                      |  0
 .../{edxapp_pages => pages}/studio/index.py   |  0
 .../{edxapp_pages => pages}/studio/login.py   |  0
 .../studio/manage_users.py                    |  0
 .../studio/overview.py                        |  0
 .../studio/settings.py                        |  0
 .../studio/settings_advanced.py               |  0
 .../studio/settings_graders.py                |  0
 .../{edxapp_pages => pages}/studio/signup.py  |  0
 .../studio/textbooks.py                       |  0
 .../{edxapp_pages => pages}/studio/unit.py    |  0
 common/test/acceptance/setup.py               |  6 ++++
 common/test/acceptance/tests/test_lms.py      | 20 +++++------
 common/test/acceptance/tests/test_ora.py      | 12 +++----
 common/test/acceptance/tests/test_studio.py   | 34 +++++++++----------
 40 files changed, 41 insertions(+), 33 deletions(-)
 rename common/test/acceptance/{edxapp_pages => pages}/__init__.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/__init__.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/course_about.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/course_info.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/course_nav.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/course_page.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/dashboard.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/find_courses.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/login.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/open_response.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/progress.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/register.py (99%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/tab_nav.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/lms/video.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/__init__.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/asset_index.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/auto_auth.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/checklists.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/course_import.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/course_info.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/course_page.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/edit_subsection.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/edit_tabs.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/export.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/howitworks.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/index.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/login.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/manage_users.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/overview.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/settings.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/settings_advanced.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/settings_graders.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/signup.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/textbooks.py (100%)
 rename common/test/acceptance/{edxapp_pages => pages}/studio/unit.py (100%)

diff --git a/.gitignore b/.gitignore
index 3ddab935286..f3eaf7c9765 100644
--- a/.gitignore
+++ b/.gitignore
@@ -89,3 +89,4 @@ build
 lms/lib/comment_client/python
 autodeploy.properties
 .ws_migrations_complete
+dist
diff --git a/common/test/acceptance/edxapp_pages/__init__.py b/common/test/acceptance/pages/__init__.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/__init__.py
rename to common/test/acceptance/pages/__init__.py
diff --git a/common/test/acceptance/edxapp_pages/lms/__init__.py b/common/test/acceptance/pages/lms/__init__.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/__init__.py
rename to common/test/acceptance/pages/lms/__init__.py
diff --git a/common/test/acceptance/edxapp_pages/lms/course_about.py b/common/test/acceptance/pages/lms/course_about.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/course_about.py
rename to common/test/acceptance/pages/lms/course_about.py
diff --git a/common/test/acceptance/edxapp_pages/lms/course_info.py b/common/test/acceptance/pages/lms/course_info.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/course_info.py
rename to common/test/acceptance/pages/lms/course_info.py
diff --git a/common/test/acceptance/edxapp_pages/lms/course_nav.py b/common/test/acceptance/pages/lms/course_nav.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/course_nav.py
rename to common/test/acceptance/pages/lms/course_nav.py
diff --git a/common/test/acceptance/edxapp_pages/lms/course_page.py b/common/test/acceptance/pages/lms/course_page.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/course_page.py
rename to common/test/acceptance/pages/lms/course_page.py
diff --git a/common/test/acceptance/edxapp_pages/lms/dashboard.py b/common/test/acceptance/pages/lms/dashboard.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/dashboard.py
rename to common/test/acceptance/pages/lms/dashboard.py
diff --git a/common/test/acceptance/edxapp_pages/lms/find_courses.py b/common/test/acceptance/pages/lms/find_courses.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/find_courses.py
rename to common/test/acceptance/pages/lms/find_courses.py
diff --git a/common/test/acceptance/edxapp_pages/lms/login.py b/common/test/acceptance/pages/lms/login.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/login.py
rename to common/test/acceptance/pages/lms/login.py
diff --git a/common/test/acceptance/edxapp_pages/lms/open_response.py b/common/test/acceptance/pages/lms/open_response.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/open_response.py
rename to common/test/acceptance/pages/lms/open_response.py
diff --git a/common/test/acceptance/edxapp_pages/lms/progress.py b/common/test/acceptance/pages/lms/progress.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/progress.py
rename to common/test/acceptance/pages/lms/progress.py
diff --git a/common/test/acceptance/edxapp_pages/lms/register.py b/common/test/acceptance/pages/lms/register.py
similarity index 99%
rename from common/test/acceptance/edxapp_pages/lms/register.py
rename to common/test/acceptance/pages/lms/register.py
index c39a5e4ee4a..43a9c5275c3 100644
--- a/common/test/acceptance/edxapp_pages/lms/register.py
+++ b/common/test/acceptance/pages/lms/register.py
@@ -20,6 +20,7 @@ class RegisterPage(PageObject):
         super(RegisterPage, self).__init__(browser)
         self._course_id = course_id
 
+    @property
     def url(self):
         """
         URL for the registration page of a course.
diff --git a/common/test/acceptance/edxapp_pages/lms/tab_nav.py b/common/test/acceptance/pages/lms/tab_nav.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/tab_nav.py
rename to common/test/acceptance/pages/lms/tab_nav.py
diff --git a/common/test/acceptance/edxapp_pages/lms/video.py b/common/test/acceptance/pages/lms/video.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/lms/video.py
rename to common/test/acceptance/pages/lms/video.py
diff --git a/common/test/acceptance/edxapp_pages/studio/__init__.py b/common/test/acceptance/pages/studio/__init__.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/__init__.py
rename to common/test/acceptance/pages/studio/__init__.py
diff --git a/common/test/acceptance/edxapp_pages/studio/asset_index.py b/common/test/acceptance/pages/studio/asset_index.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/asset_index.py
rename to common/test/acceptance/pages/studio/asset_index.py
diff --git a/common/test/acceptance/edxapp_pages/studio/auto_auth.py b/common/test/acceptance/pages/studio/auto_auth.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/auto_auth.py
rename to common/test/acceptance/pages/studio/auto_auth.py
diff --git a/common/test/acceptance/edxapp_pages/studio/checklists.py b/common/test/acceptance/pages/studio/checklists.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/checklists.py
rename to common/test/acceptance/pages/studio/checklists.py
diff --git a/common/test/acceptance/edxapp_pages/studio/course_import.py b/common/test/acceptance/pages/studio/course_import.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/course_import.py
rename to common/test/acceptance/pages/studio/course_import.py
diff --git a/common/test/acceptance/edxapp_pages/studio/course_info.py b/common/test/acceptance/pages/studio/course_info.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/course_info.py
rename to common/test/acceptance/pages/studio/course_info.py
diff --git a/common/test/acceptance/edxapp_pages/studio/course_page.py b/common/test/acceptance/pages/studio/course_page.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/course_page.py
rename to common/test/acceptance/pages/studio/course_page.py
diff --git a/common/test/acceptance/edxapp_pages/studio/edit_subsection.py b/common/test/acceptance/pages/studio/edit_subsection.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/edit_subsection.py
rename to common/test/acceptance/pages/studio/edit_subsection.py
diff --git a/common/test/acceptance/edxapp_pages/studio/edit_tabs.py b/common/test/acceptance/pages/studio/edit_tabs.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/edit_tabs.py
rename to common/test/acceptance/pages/studio/edit_tabs.py
diff --git a/common/test/acceptance/edxapp_pages/studio/export.py b/common/test/acceptance/pages/studio/export.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/export.py
rename to common/test/acceptance/pages/studio/export.py
diff --git a/common/test/acceptance/edxapp_pages/studio/howitworks.py b/common/test/acceptance/pages/studio/howitworks.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/howitworks.py
rename to common/test/acceptance/pages/studio/howitworks.py
diff --git a/common/test/acceptance/edxapp_pages/studio/index.py b/common/test/acceptance/pages/studio/index.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/index.py
rename to common/test/acceptance/pages/studio/index.py
diff --git a/common/test/acceptance/edxapp_pages/studio/login.py b/common/test/acceptance/pages/studio/login.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/login.py
rename to common/test/acceptance/pages/studio/login.py
diff --git a/common/test/acceptance/edxapp_pages/studio/manage_users.py b/common/test/acceptance/pages/studio/manage_users.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/manage_users.py
rename to common/test/acceptance/pages/studio/manage_users.py
diff --git a/common/test/acceptance/edxapp_pages/studio/overview.py b/common/test/acceptance/pages/studio/overview.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/overview.py
rename to common/test/acceptance/pages/studio/overview.py
diff --git a/common/test/acceptance/edxapp_pages/studio/settings.py b/common/test/acceptance/pages/studio/settings.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/settings.py
rename to common/test/acceptance/pages/studio/settings.py
diff --git a/common/test/acceptance/edxapp_pages/studio/settings_advanced.py b/common/test/acceptance/pages/studio/settings_advanced.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/settings_advanced.py
rename to common/test/acceptance/pages/studio/settings_advanced.py
diff --git a/common/test/acceptance/edxapp_pages/studio/settings_graders.py b/common/test/acceptance/pages/studio/settings_graders.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/settings_graders.py
rename to common/test/acceptance/pages/studio/settings_graders.py
diff --git a/common/test/acceptance/edxapp_pages/studio/signup.py b/common/test/acceptance/pages/studio/signup.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/signup.py
rename to common/test/acceptance/pages/studio/signup.py
diff --git a/common/test/acceptance/edxapp_pages/studio/textbooks.py b/common/test/acceptance/pages/studio/textbooks.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/textbooks.py
rename to common/test/acceptance/pages/studio/textbooks.py
diff --git a/common/test/acceptance/edxapp_pages/studio/unit.py b/common/test/acceptance/pages/studio/unit.py
similarity index 100%
rename from common/test/acceptance/edxapp_pages/studio/unit.py
rename to common/test/acceptance/pages/studio/unit.py
diff --git a/common/test/acceptance/setup.py b/common/test/acceptance/setup.py
index 472cc369668..1337833314f 100644
--- a/common/test/acceptance/setup.py
+++ b/common/test/acceptance/setup.py
@@ -4,11 +4,16 @@
 Install bok-choy page objects for acceptance and end-to-end tests.
 """
 
+import os
 from setuptools import setup
 
 VERSION = '0.0.1'
 DESCRIPTION = "Bok-choy page objects for edx-platform"
 
+# Pip 1.5 will try to install this package from outside
+# the directory containing setup.py, so we need to use an absolute path.
+PAGES_PACKAGE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'pages')
+
 setup(
     name='edxapp-pages',
     version=VERSION,
@@ -25,5 +30,6 @@ setup(
         'Topic :: Software Development :: Testing',
         'Topic :: Software Development :: Quality Assurance'
     ],
+    package_dir={'edxapp_pages': PAGES_PACKAGE_DIR},
     packages=['edxapp_pages', 'edxapp_pages.lms', 'edxapp_pages.studio']
 )
diff --git a/common/test/acceptance/tests/test_lms.py b/common/test/acceptance/tests/test_lms.py
index 5b9407c2e5f..15bd3aed587 100644
--- a/common/test/acceptance/tests/test_lms.py
+++ b/common/test/acceptance/tests/test_lms.py
@@ -6,16 +6,16 @@ from bok_choy.web_app_test import WebAppTest
 from bok_choy.promise import EmptyPromise, fulfill_before
 
 from .helpers import UniqueCourseTest, load_data_str
-from ..edxapp_pages.studio.auto_auth import AutoAuthPage
-from ..edxapp_pages.lms.login import LoginPage
-from ..edxapp_pages.lms.find_courses import FindCoursesPage
-from ..edxapp_pages.lms.course_about import CourseAboutPage
-from ..edxapp_pages.lms.register import RegisterPage
-from ..edxapp_pages.lms.course_info import CourseInfoPage
-from ..edxapp_pages.lms.tab_nav import TabNavPage
-from ..edxapp_pages.lms.course_nav import CourseNavPage
-from ..edxapp_pages.lms.progress import ProgressPage
-from ..edxapp_pages.lms.video import VideoPage
+from ..pages.studio.auto_auth import AutoAuthPage
+from ..pages.lms.login import LoginPage
+from ..pages.lms.find_courses import FindCoursesPage
+from ..pages.lms.course_about import CourseAboutPage
+from ..pages.lms.register import RegisterPage
+from ..pages.lms.course_info import CourseInfoPage
+from ..pages.lms.tab_nav import TabNavPage
+from ..pages.lms.course_nav import CourseNavPage
+from ..pages.lms.progress import ProgressPage
+from ..pages.lms.video import VideoPage
 from ..fixtures.course import CourseFixture, XBlockFixtureDesc, CourseUpdateDesc
 
 
diff --git a/common/test/acceptance/tests/test_ora.py b/common/test/acceptance/tests/test_ora.py
index ab5b4940f9b..618bc45d457 100644
--- a/common/test/acceptance/tests/test_ora.py
+++ b/common/test/acceptance/tests/test_ora.py
@@ -4,12 +4,12 @@ Tests for ORA (Open Response Assessment) through the LMS UI.
 
 import json
 from bok_choy.promise import fulfill, Promise
-from ..edxapp_pages.studio.auto_auth import AutoAuthPage
-from ..edxapp_pages.lms.course_info import CourseInfoPage
-from ..edxapp_pages.lms.tab_nav import TabNavPage
-from ..edxapp_pages.lms.course_nav import CourseNavPage
-from ..edxapp_pages.lms.open_response import OpenResponsePage
-from ..edxapp_pages.lms.progress import ProgressPage
+from ..pages.studio.auto_auth import AutoAuthPage
+from ..pages.lms.course_info import CourseInfoPage
+from ..pages.lms.tab_nav import TabNavPage
+from ..pages.lms.course_nav import CourseNavPage
+from ..pages.lms.open_response import OpenResponsePage
+from ..pages.lms.progress import ProgressPage
 from ..fixtures.course import XBlockFixtureDesc, CourseFixture
 from ..fixtures.xqueue import XQueueResponseFixture
 
diff --git a/common/test/acceptance/tests/test_studio.py b/common/test/acceptance/tests/test_studio.py
index b4f8b64e6a6..df5eb07a5b2 100644
--- a/common/test/acceptance/tests/test_studio.py
+++ b/common/test/acceptance/tests/test_studio.py
@@ -3,23 +3,23 @@ Acceptance tests for Studio.
 """
 from bok_choy.web_app_test import WebAppTest
 
-from ..edxapp_pages.studio.asset_index import AssetIndexPage
-from ..edxapp_pages.studio.auto_auth import AutoAuthPage
-from ..edxapp_pages.studio.checklists import ChecklistsPage
-from ..edxapp_pages.studio.course_import import ImportPage
-from ..edxapp_pages.studio.course_info import CourseUpdatesPage
-from ..edxapp_pages.studio.edit_tabs import StaticPagesPage
-from ..edxapp_pages.studio.export import ExportPage
-from ..edxapp_pages.studio.howitworks import HowitworksPage
-from ..edxapp_pages.studio.index import DashboardPage
-from ..edxapp_pages.studio.login import LoginPage
-from ..edxapp_pages.studio.manage_users import CourseTeamPage
-from ..edxapp_pages.studio.overview import CourseOutlinePage
-from ..edxapp_pages.studio.settings import SettingsPage
-from ..edxapp_pages.studio.settings_advanced import AdvancedSettingsPage
-from ..edxapp_pages.studio.settings_graders import GradingPage
-from ..edxapp_pages.studio.signup import SignupPage
-from ..edxapp_pages.studio.textbooks import TextbooksPage
+from ..pages.studio.asset_index import AssetIndexPage
+from ..pages.studio.auto_auth import AutoAuthPage
+from ..pages.studio.checklists import ChecklistsPage
+from ..pages.studio.course_import import ImportPage
+from ..pages.studio.course_info import CourseUpdatesPage
+from ..pages.studio.edit_tabs import StaticPagesPage
+from ..pages.studio.export import ExportPage
+from ..pages.studio.howitworks import HowitworksPage
+from ..pages.studio.index import DashboardPage
+from ..pages.studio.login import LoginPage
+from ..pages.studio.manage_users import CourseTeamPage
+from ..pages.studio.overview import CourseOutlinePage
+from ..pages.studio.settings import SettingsPage
+from ..pages.studio.settings_advanced import AdvancedSettingsPage
+from ..pages.studio.settings_graders import GradingPage
+from ..pages.studio.signup import SignupPage
+from ..pages.studio.textbooks import TextbooksPage
 from ..fixtures.course import CourseFixture
 
 from .helpers import UniqueCourseTest
-- 
GitLab