Remove old assets page from mako template, tests, & config model references
This commit is contained in:
@@ -18,83 +18,6 @@ UPLOAD_SUFFIX = '/data/uploads/studio-uploads/'
|
||||
UPLOAD_FILE_DIR = Path(__file__).abspath().dirname().dirname().dirname().dirname() + UPLOAD_SUFFIX # pylint: disable=no-value-for-parameter
|
||||
|
||||
|
||||
class AssetIndexPage(CoursePage):
|
||||
"""
|
||||
The Files and Uploads page for a course in Studio
|
||||
"""
|
||||
|
||||
url_path = "assets"
|
||||
type_filter_element = '#js-asset-type-col'
|
||||
|
||||
@property
|
||||
def url(self):
|
||||
"""
|
||||
Construct a URL to the page within the course.
|
||||
"""
|
||||
# TODO - is there a better way to make this agnostic to the underlying default module store?
|
||||
default_store = os.environ.get('DEFAULT_STORE', 'draft')
|
||||
course_key = CourseLocator(
|
||||
self.course_info['course_org'],
|
||||
self.course_info['course_num'],
|
||||
self.course_info['course_run'],
|
||||
deprecated=(default_store == 'draft')
|
||||
)
|
||||
url = "/".join([BASE_URL, self.url_path, urllib.quote_plus(unicode(course_key))])
|
||||
return url if url[-1] == '/' else url + '/'
|
||||
|
||||
@wait_for_js
|
||||
def is_browser_on_page(self):
|
||||
return all([
|
||||
self.q(css='body.view-uploads').present,
|
||||
self.q(css='.page-header').present,
|
||||
not self.q(css='div.ui-loading').visible,
|
||||
])
|
||||
|
||||
@wait_for_js
|
||||
def type_filter_on_page(self):
|
||||
"""
|
||||
Checks that type filter is in table header.
|
||||
"""
|
||||
return self.q(css=self.type_filter_element).present
|
||||
|
||||
@wait_for_js
|
||||
def type_filter_header_label_visible(self):
|
||||
"""
|
||||
Checks type filter label is added and visible in the pagination header.
|
||||
"""
|
||||
return self.q(css='span.filter-column').visible
|
||||
|
||||
@wait_for_js
|
||||
def click_type_filter(self):
|
||||
"""
|
||||
Clicks type filter menu.
|
||||
"""
|
||||
self.q(css=".filterable-column .nav-item").click()
|
||||
|
||||
@wait_for_js
|
||||
def select_type_filter(self, filter_number):
|
||||
"""
|
||||
Selects Type filter from dropdown which filters the results.
|
||||
Returns False if no filter.
|
||||
"""
|
||||
self.wait_for_ajax()
|
||||
if self.q(css=".filterable-column .nav-item").is_present():
|
||||
if not self.q(css=self.type_filter_element + " .wrapper-nav-sub").visible:
|
||||
self.q(css=".filterable-column > .nav-item").first.click()
|
||||
self.wait_for_element_visibility(
|
||||
self.type_filter_element + " .wrapper-nav-sub", "Type Filter promise satisfied.")
|
||||
self.q(css=self.type_filter_element + " .column-filter-link").nth(filter_number).click()
|
||||
self.wait_for_ajax()
|
||||
return True
|
||||
return False
|
||||
|
||||
def return_results_set(self):
|
||||
"""
|
||||
Returns the asset set from the page
|
||||
"""
|
||||
return self.q(css="#asset-table-body tr").results
|
||||
|
||||
|
||||
class AssetIndexPageStudioFrontend(CoursePage):
|
||||
"""The Files and Uploads page for a course in Studio"""
|
||||
|
||||
|
||||
@@ -3,59 +3,11 @@ Acceptance tests for Studio related to the asset index page.
|
||||
"""
|
||||
import os
|
||||
|
||||
from common.test.acceptance.fixtures.base import StudioApiLoginError
|
||||
from common.test.acceptance.fixtures.config import ConfigModelFixture
|
||||
from common.test.acceptance.pages.studio.asset_index import AssetIndexPage, AssetIndexPageStudioFrontend
|
||||
from common.test.acceptance.tests.helpers import skip_if_browser
|
||||
from common.test.acceptance.pages.studio.asset_index import AssetIndexPageStudioFrontend
|
||||
from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest
|
||||
from common.test.acceptance.pages.studio.asset_index import UPLOAD_FILE_DIR
|
||||
|
||||
|
||||
class AssetIndexTest(StudioCourseTest):
|
||||
"""
|
||||
Tests for the Asset index page.
|
||||
"""
|
||||
|
||||
def setUp(self, is_staff=False): # pylint: disable=arguments-differ
|
||||
super(AssetIndexTest, self).setUp()
|
||||
self.asset_page = AssetIndexPage(
|
||||
self.browser,
|
||||
self.course_info['org'],
|
||||
self.course_info['number'],
|
||||
self.course_info['run']
|
||||
)
|
||||
|
||||
def populate_course_fixture(self, course_fixture):
|
||||
"""
|
||||
Populate the children of the test course fixture.
|
||||
"""
|
||||
ConfigModelFixture('/config/assets', {'enabled_for_all_courses': False, 'enabled': False}, 'cms').install()
|
||||
self.course_fixture.add_asset(['image.jpg', 'textbook.pdf'])
|
||||
|
||||
@skip_if_browser('chrome') # TODO Need to fix test_page_existance for this for chrome browser
|
||||
def test_type_filter_exists(self):
|
||||
"""
|
||||
Make sure type filter is on the page.
|
||||
"""
|
||||
self.asset_page.visit()
|
||||
assert self.asset_page.type_filter_on_page() is True
|
||||
|
||||
@skip_if_browser('chrome') # TODO Need to fix test_page_existance for this for chrome browser
|
||||
def test_filter_results(self):
|
||||
"""
|
||||
Make sure type filter actually filters the results.
|
||||
"""
|
||||
self.asset_page.visit()
|
||||
all_results = len(self.asset_page.return_results_set())
|
||||
if self.asset_page.select_type_filter(1):
|
||||
filtered_results = len(self.asset_page.return_results_set())
|
||||
assert self.asset_page.type_filter_header_label_visible()
|
||||
assert all_results > filtered_results
|
||||
else:
|
||||
msg = "Could not open select Type filter"
|
||||
raise StudioApiLoginError(msg)
|
||||
|
||||
|
||||
class AssetIndexTestStudioFrontend(StudioCourseTest):
|
||||
"""Tests for the Asset index page."""
|
||||
|
||||
@@ -70,7 +22,6 @@ class AssetIndexTestStudioFrontend(StudioCourseTest):
|
||||
|
||||
def populate_course_fixture(self, course_fixture):
|
||||
"""Populate the children of the test course fixture."""
|
||||
ConfigModelFixture('/config/assets', {'enabled_for_all_courses': True, 'enabled': True}, 'cms').install()
|
||||
self.course_fixture.add_asset(['image.jpg', 'textbook.pdf'])
|
||||
|
||||
def test_page_with_assets_elements_load(self):
|
||||
@@ -233,7 +184,6 @@ class AssetIndexTestStudioFrontendPagination(StudioCourseTest):
|
||||
|
||||
def populate_course_fixture(self, course_fixture):
|
||||
"""Populate the children of the test course fixture and upload 49 files."""
|
||||
ConfigModelFixture('/config/assets', {'enabled_for_all_courses': True, 'enabled': True}, 'cms').install()
|
||||
files = []
|
||||
|
||||
for file_name in os.listdir(UPLOAD_FILE_DIR):
|
||||
|
||||
@@ -6,7 +6,7 @@ import uuid
|
||||
from base_studio_test import StudioCourseTest
|
||||
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
|
||||
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
|
||||
from common.test.acceptance.pages.studio.asset_index import AssetIndexPage
|
||||
from common.test.acceptance.pages.studio.asset_index import AssetIndexPageStudioFrontend
|
||||
from common.test.acceptance.pages.studio.course_info import CourseUpdatesPage
|
||||
from common.test.acceptance.pages.studio.edit_tabs import PagesPage
|
||||
from common.test.acceptance.pages.studio.import_export import ExportCoursePage, ImportCoursePage
|
||||
@@ -227,7 +227,7 @@ class CoursePagesTest(StudioCourseTest):
|
||||
self.pages = [
|
||||
clz(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'])
|
||||
for clz in [
|
||||
AssetIndexPage,
|
||||
AssetIndexPageStudioFrontend,
|
||||
CourseUpdatesPage,
|
||||
PagesPage, ExportCoursePage, ImportCoursePage, CourseTeamPage, CourseOutlinePage, SettingsPage,
|
||||
AdvancedSettingsPage, GradingPage, TextbookUploadPage
|
||||
|
||||
@@ -8,7 +8,7 @@ from nose.plugins.attrib import attr
|
||||
|
||||
from common.test.acceptance.fixtures.course import XBlockFixtureDesc
|
||||
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
|
||||
from common.test.acceptance.pages.studio.asset_index import AssetIndexPage
|
||||
from common.test.acceptance.pages.studio.asset_index import AssetIndexPageStudioFrontend
|
||||
from common.test.acceptance.pages.studio.course_info import CourseUpdatesPage
|
||||
from common.test.acceptance.pages.studio.edit_tabs import PagesPage
|
||||
from common.test.acceptance.pages.studio.import_export import (
|
||||
@@ -600,7 +600,7 @@ class AssetIndexHelpTest(StudioCourseTest):
|
||||
"""
|
||||
def setUp(self): # pylint: disable=arguments-differ
|
||||
super(AssetIndexHelpTest, self).setUp()
|
||||
self.course_asset_index_page = AssetIndexPage(
|
||||
self.course_asset_index_page = AssetIndexPageStudioFrontend(
|
||||
self.browser,
|
||||
self.course_info['org'],
|
||||
self.course_info['number'],
|
||||
@@ -626,25 +626,6 @@ class AssetIndexHelpTest(StudioCourseTest):
|
||||
href=expected_url,
|
||||
)
|
||||
|
||||
def test_asset_index_side_bar_help(self):
|
||||
"""
|
||||
Scenario: Help link in sidebar links is working on 'Files & Uploads' page
|
||||
Given that I am on the 'Files & Uploads' page.
|
||||
And I want help about the process
|
||||
And I click the 'Learn more about managing files' in the sidebar links
|
||||
Then Help link should open.
|
||||
And help url should be correct
|
||||
"""
|
||||
expected_url = _get_expected_documentation_url('/course_assets/course_files.html')
|
||||
|
||||
# Assert that help link is correct.
|
||||
assert_side_bar_help_link(
|
||||
test=self,
|
||||
page=self.course_asset_index_page,
|
||||
href=expected_url,
|
||||
help_text='Learn more about managing files'
|
||||
)
|
||||
|
||||
|
||||
@attr(shard=10)
|
||||
class CoursePagesHelpTest(StudioCourseTest):
|
||||
|
||||
Reference in New Issue
Block a user