Commit Graph

67 Commits

Author SHA1 Message Date
Calen Pennington
b353ed2ea2 Better support specifying of modulestore configuration in test cases
The existing pattern of using `override_settings(MODULESTORE=...)` prevented
us from having more than one layer of subclassing in modulestore tests.

In a structure like:

    @override_settings(MODULESTORE=store_a)
    class BaseTestCase(ModuleStoreTestCase):
        def setUp(self):
            # use store

    @override_settings(MODULESTORE=store_b)
    class ChildTestCase(BaseTestCase):
        def setUp(self):
            # use store

In this case, the store actions performed in `BaseTestCase` on behalf of
`ChildTestCase` would still use `store_a`, even though the `ChildTestCase`
had specified to use `store_b`. This is because the `override_settings`
decorator would be the innermost wrapper around the `BaseTestCase.setUp` method,
no matter what `ChildTestCase` does.

To remedy this, we move the call to `override_settings` into the
`ModuleStoreTestCase.setUp` method, and use a cleanup to remove the override.
Subclasses can just defined the `MODULESTORE` class attribute to specify which
modulestore to use _for the entire `setUp` chain_.

[PLAT-419]
2015-02-04 09:09:14 -05:00
Calen Pennington
03a05fd9d4 Always call super(..).setUp() from setUp 2015-02-04 09:09:14 -05:00
Jesse Zoldak
bf3b87bc64 Clean up all modulestore testcases
Move modulestore config for tests to an importable location
Disable pylnt warning for lms imports in common tests
Refactor all testcases that loaded all xml courses
TE-610
TE-489
2014-12-02 07:09:36 -05:00
Sarina Canelake
7229ef92ee s/pylint: disable=W0212/pylint: disable=protected-access/ 2014-12-01 11:22:12 -05:00
Sarina Canelake
c0556a7ef8 s/pylint: disable=W0613/pylint: disable=unused-argument/ 2014-12-01 11:22:11 -05:00
Sarina Canelake
19f1dacab2 s/pylint: disable=E1101/pylint: disable=no-member/ 2014-12-01 11:22:09 -05:00
Sarina Canelake
b127d2844b s/pylint: disable=C0103/pylint: disable=invalid-name/ 2014-12-01 11:22:09 -05:00
muhammad-ammar
fcaa783e43 Unit Test Improvements
TE-489
2014-10-31 11:55:13 +00:00
Sarina Canelake
d0449cdff2 get_courses_for_wiki return course_keys across all modulestores [LMS-2914] 2014-07-21 17:17:48 -04:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Sarina Canelake
110719deae StaffFactories accept course_keys, not courses. Make that clear in the interface. 2014-05-24 18:49:06 -04:00
Calen Pennington
cd746bf8e5 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit adds the non-courseware lms/djangoapps and lms/lib.

These keys are now objects with a limited interface, and the particular
internal representation is managed by the data storage layer (the
modulestore).

For the LMS, there should be no outward-facing changes to the system.
The keys are, for now, a change to internal representation only. For
Studio, the new serialized form of the keys is used in urls, to allow
for further migration in the future.

Co-Author: Andy Armstrong <andya@edx.org>
Co-Author: Christina Roberts <christina@edx.org>
Co-Author: David Baumgold <db@edx.org>
Co-Author: Diana Huang <dkh@edx.org>
Co-Author: Don Mitchell <dmitchell@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
Co-Author: Sarina Canelake <sarina@edx.org>

[LMS-2370]
2014-05-08 12:09:23 -04:00
Usman Khalid
f591b1db28 Fixed transform_url function in WikiAccessMiddleware.
In the current implementation if the path prefix contains the
wiki_path value it gets deleted. For example if the prefix is
'/courses/edx/math101/2014' and wiki_path is '101/' the final
prefix becomes '/courses/edx/math2014'.

LMS-2556
2014-04-28 20:33:01 +05:00
Dave St.Germain
660244201f Refactored course_nav middleware to isolate the django-wiki hack,
remove unnecessary code, and clarify what it's doing.
2014-04-08 15:24:48 -04:00
Adam
2e174f2aa7 Merge pull request #3070 from edx/adam/middleware
wiki middleware fix (LMS-2461)
2014-03-26 16:36:17 -04:00
Dave St.Germain
aaf4515ac3 remove old version of codemirror, to prevent confusion 2014-03-10 09:43:56 -04:00
Usman Khalid
7b185db751 Refactored permissions check for course_wiki pages.
CourseRole names have a new format (type_org.number.run). Previously
when checking if a user was staff for a course wiki type_org/number/run
and type_number format role names were checked by parsing user group names.

This logic has been refactored to first fetch all courses which use the
particular wiki_slug and then use courseware.access.has_access to check if the
user has staff permissions on any of the courses.

LMS-2136
2014-03-10 16:13:17 +05:00
Sarina Canelake
87495891b6 Fix some simple pep8 and pylint violations 2014-03-07 12:20:28 -05:00
Chris Dodge
10465e3eb0 add some authorization checks to the Wiki 2014-02-28 13:36:18 -05:00
Ned Batchelder
aff3c47754 i18n fixes for wiki templates. 2014-02-10 15:23:13 -05:00
Ned Batchelder
1bd213beba Remove unused imports. 2014-02-10 14:07:50 -05:00
Joe Blaylock
9c803825ff Eliminate unused import and gratuitous prints 2014-01-23 16:12:18 -08:00
Don Mitchell
3ebac80778 Replace authz fns with roles.py ones
STUD-1006
2014-01-14 17:04:44 -05:00
David Baumgold
fb13bed947 Updating comments and docs for MITx -> edX transition 2013-12-10 13:21:18 -05:00
David Baumgold
6af8ecef03 mitx_markdown => edx_markdown 2013-12-04 10:23:47 -05:00
Ned Batchelder
cccd61ebf3 Make remaining dialogs in wiki accessible.
All the dialogs in the wiki are now accessible to screen readers.

Also, the "Switch to selected version" button did the odd thing of
reloading the page with the new version selected, but inside a dialog.
That is now fixed.

The merge dialog has a warning that looks kind of funky still, but you
can read it, unlike the previous code.

LMS-1337
2013-11-25 16:05:05 -05:00
Calen Pennington
061a46beef Formalize various access roles as objects
This centralizes the logic for group membership, and means that we
don't need to make queries to find out whether the legacy groups names exist.
2013-11-13 13:42:37 -05:00
Usman Khalid
9542230afd Added granular permissions for managing wiki articles
LMS-1355
2013-11-13 01:40:23 +05:00
Julia Hansbrough
4261569215 Fixing accessibility bug where users could not tab through on wiki
LMS-1307
2013-10-25 13:10:14 +00:00
Adam Palay
e9b15b6f02 add unicode support for course_wiki 2013-09-23 16:15:47 -04:00
Will Daly
48c6daacb8 Removed unnecessary settings wrangling from ModuleStoreTestCase.
Modified navigation tests to use MixedModulestore
Updated factories to find editable modulestore

Updated test_submitting_problems

Updated test_tabs.py

Updated test_view_authentication

Updated test_views

Updated courseware/tests/tests.py

Updated test_masquerade

Updated test_module_render

Pylint fixes

Updated video and word cloud tests

Updated course wiki tests

Updated license and open_ended tests.
One open_ended test still failing due to Mako initialization issues

Updated staticbook

Updated django_comment_client tests

Updated instructor tests

Updated instructor task tests

Updated external_auth tests

Updated course_groups
2013-08-21 09:36:45 -04:00
Chris Dodge
e41554b24c be sure to encode the display strings 2013-08-02 09:56:19 -04:00
Chris Dodge
93df9c4c30 resolve merge conflicts 2013-08-02 09:41:02 -04:00
Calen Pennington
0d3c44996a LMS i18n from Tsinghua 2013-07-31 19:39:15 -04:00
JonahStanley
7fb5f505d6 Refactored out full from the lms tests 2013-07-11 10:12:06 -04:00
Ned Batchelder
df6d3f9b2f Fix strings that should be raw. 2013-06-19 16:56:34 -04:00
Brian Wilson
99778b1b5b add fixes for 500 bugs (lighthouse 287 and 293) by requiring login for accessing licenses and inline discussions. Add unit tests for licenses, and rearrange tests based off of (the former) PageLoad. Also cleanups for pylint and pep8. 2013-03-27 17:59:56 -04:00
Calen Pennington
93db5acc15 Make display_name defaulting explicit 2013-03-08 14:58:09 -05:00
Calen Pennington
e7900859b6 Remove the 'title' alias for lms.display_name 2013-03-06 15:11:08 -05:00
Ned Batchelder
7c8a90229e Use 'is None' and 'is not None' 2013-03-04 10:57:25 -05:00
Ned Batchelder
aa2d0ecaf2 We no longer need override_settings, Django has a better one. 2013-02-11 17:06:35 -05:00
Calen Pennington
cfae1cdf62 Pep8 autofixes 2013-02-06 11:13:50 -05:00
Chris Dodge
0bf79eb587 append some character, in this case a '_', if the course number is really a full-on number. The Wiki library interprets this incorrectly - to date we've always used non-numerical values. 2012-12-19 20:54:43 -05:00
Carlos Andrés Rocha
8b0d1f09e0 Refactored wiki cheatsheet code. 2012-08-27 18:30:38 -04:00
Bridger Maxwell
a694d1034e We use django-wiki's built-in wikilinks markdown extension. They were clashing. 2012-08-22 15:57:44 -04:00
Bridger Maxwell
788c74e07a Added optional <wiki> tag to course to specify an alternative wiki page. 2012-08-22 14:25:05 -04:00
Bridger Maxwell
3796bb4a12 Changed title of default root wiki page to just be Wiki. 2012-08-22 12:42:03 -04:00
Bridger Maxwell
96f0f7cbde Changed default contents of new course wiki. 2012-08-22 11:36:06 -04:00
Bridger Maxwell
9e81ea3981 Added instructor tabs to wiki course nav. 2012-08-21 22:31:13 -04:00
Bridger Maxwell
d31f0c9f06 Merge remote-tracking branch 'origin/master' into feature/bridger/new_wiki
Conflicts:
	requirements.txt
2012-08-20 16:10:17 -04:00