58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
"""
|
|
Acceptance tests for Home Page (My Courses / My Libraries).
|
|
"""
|
|
from bok_choy.web_app_test import WebAppTest
|
|
from opaque_keys.edx.locator import LibraryLocator
|
|
|
|
from ...pages.studio.auto_auth import AutoAuthPage
|
|
from ...pages.studio.library import LibraryPage
|
|
from ...pages.studio.index import DashboardPage
|
|
|
|
|
|
class CreateLibraryTest(WebAppTest):
|
|
"""
|
|
Test that we can create a new content library on the studio home page.
|
|
"""
|
|
|
|
def setUp(self):
|
|
"""
|
|
Load the helper for the home page (dashboard page)
|
|
"""
|
|
super(CreateLibraryTest, self).setUp()
|
|
|
|
self.auth_page = AutoAuthPage(self.browser, staff=True)
|
|
self.dashboard_page = DashboardPage(self.browser)
|
|
|
|
def test_create_library(self):
|
|
"""
|
|
From the home page:
|
|
Click "New Library"
|
|
Fill out the form
|
|
Submit the form
|
|
We should be redirected to the edit view for the library
|
|
Return to the home page
|
|
The newly created library should now appear in the list of libraries
|
|
"""
|
|
name = "New Library Name"
|
|
org = "TestOrgX"
|
|
number = "TESTLIB"
|
|
|
|
self.auth_page.visit()
|
|
self.dashboard_page.visit()
|
|
self.assertFalse(self.dashboard_page.has_library(name=name, org=org, number=number))
|
|
self.assertTrue(self.dashboard_page.has_new_library_button())
|
|
|
|
self.dashboard_page.click_new_library()
|
|
self.assertTrue(self.dashboard_page.is_new_library_form_visible())
|
|
self.dashboard_page.fill_new_library_form(name, org, number)
|
|
self.assertTrue(self.dashboard_page.is_new_library_form_valid())
|
|
self.dashboard_page.submit_new_library_form()
|
|
|
|
# The next page is the library edit view; make sure it loads:
|
|
lib_page = LibraryPage(self.browser, LibraryLocator(org, number))
|
|
lib_page.wait_for_page()
|
|
|
|
# Then go back to the home page and make sure the new library is listed there:
|
|
self.dashboard_page.visit()
|
|
self.assertTrue(self.dashboard_page.has_library(name=name, org=org, number=number))
|