Commit Graph

23 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
Jesse Zoldak
121b31309d Small fixes to modulestore test refactoring 2014-12-02 07:09:37 -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
stv
b215d771b7 Fix PEP8: E128 continuation line under-indented
for visual indent
2014-11-24 20:46:50 -05:00
stv
b388ab9db0 Fix PEP8: E226 missing whitespace around arithmetic operator 2014-11-10 19:30:18 -08:00
Don Mitchell
4ca5012f3c Use split to test views 2014-09-29 11:25:55 -04:00
Chris Dodge
50cdd2b087 only redirect to dashboard if user has course enrollments, otherwise remain on the course catalog page (aka homepage or root)
update lettuce test to match new expected behavior

add Jason's feedback

only apply new redirect logic for microsites

switch to use a feature flag to determine whether to support redirect behavior
2014-09-15 20:52:44 -04:00
David Baumgold
5457775cfe Replace check_for_get_code with assert_request_status_code
More flexible, uses the word "assert", method instead of function
2014-08-05 13:36:49 -04:00
Piotr Mitros
afe22ca42e Review from Cale 2014-06-20 10:57:11 -04:00
Piotr Mitros
4f303a623b XBlocks can disable navigation chrome.
There is an option to:
* Enable/disable accordion navigation
* Enable/disable/repoint tab navigation

This allows for full-screen XBlocks (e.g. a code IDE, or large video
player). It is also the first pass at allowing top-level XBlocks. It's
also now possible to make a chromeless XBlock, point a tab to it, and
make it point back to that tab.

Next steps down that path would be:
* Fix up how tabs are handled. The current version is a hack.
* Create appropriate XBlocks for courseware, tabbed navigation,
  etc. to reach feature parity
* Invert/rejigger the XML format.
2014-06-19 21:06:08 -04:00
Johnny Brown
0bd2286e5b show a friendly message for an empty course rather than an error page 2014-05-29 16:55:40 -05:00
Calen Pennington
9811926d97 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit updates lms/djangoapps/courseware.

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-06 10:08:32 -04:00
Chris Dodge
8262b6564e pep8 cleanup 2014-01-24 11:59:56 -05:00
Chris Dodge
fcefada2d7 add middleware to be able to expire inactive sessions after N seconds
configure middleware

add test for session inactive timeouts

add Studio inactive session timeout test

change login method used

add create_test_account to test

make sure the expected redirect URL is right

fix indenting problem

fix doc string since we moved from minutes to seconds

use utility methods rather than calling another test to set up and activate an account

clean up code violations

respond to PR feedback

use optional params to make code cleaner

pylint fix on test files
2014-01-24 10:36:21 -05: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
Jean Manuel Nater
3e0f933a73 Formatted a docstring. 2013-06-27 16:40:04 -04:00
Jean Manuel Nater
7f017d0ca9 Addressed pull request feedback 2013-06-26 17:19:13 -04:00
Jean Manuel Nater
c4c68f516b Removed some unnecessary imports. 2013-06-24 17:31:49 -04:00
Jean Manuel Nater
986b63d85d Removed run_wrapped() and replaced its functionality with patch.dict(): 2013-06-24 17:07:43 -04:00
Jean Manuel Nater
32a0a2d29d In the middle of addressing pull request comments. This is a safety commit in case I have to revert some changes I'm about to make. 2013-06-24 11:13:59 -04:00
Jean Manuel Nater
9bfddd4891 Addressed pull request feedback. 2013-06-21 14:05:57 -04:00
Jean Manuel Nater
97275a3286 Refactored some of the classes in tests.py to not unnecessarily depend on the XML modulestore.
Conflicts:
	lms/djangoapps/courseware/tests/test_navigation.py
	lms/djangoapps/courseware/tests/test_view_authentication.py
	lms/djangoapps/courseware/tests/tests.py
2013-06-18 13:54:16 -04:00
Jean Manuel Nater
07486a4dbc Refactoring the code in tests.py to remove unnecessary dependencies on the XML Modulestore. 2013-06-17 11:54:16 -04:00