Commit Graph

41 Commits

Author SHA1 Message Date
Jeremy Bowman
669aa13ad6 PLAT-1873 to_deprecated_string() cleanup part 2 2018-01-08 17:26:55 -05:00
Jeremy Bowman
da8cf6b528 PLAT-1382 Populate ALLOWED_HOSTS for tests 2017-12-05 14:22:30 -05:00
bmedx
5fbbf4979a Tag LMS Unit 1 tests that fail in Django 1.11 2017-11-22 15:46:45 -05:00
Matjaz Gregoric
9566b7a5f6 Ability to set HOMEPAGE_COURSE_MAX via SiteConfiguration.
The setting controls the number of courses displayed on the homepage.
2017-11-08 15:57:32 +01:00
Andy Armstrong
79acb5c5be Reorder LMS imports using isort 2017-06-11 21:48:06 -04:00
Ned Batchelder
4a568476fd Remove a number of unneeded super()-delegation methods 2017-04-27 14:12:56 -04:00
David Ormsbee
2051c90924 Test Speedup: Isolate Modulestore Signals
There are a number of Django Signals that are on the modulestore's
SignalHandler class, such as SignalHandler.course_published. These
signals can trigger very expensive processes to occur, such as course
overview or block structures generation. Most of the time, the test
author doesn't care about these side-effects.

This commit does a few things:

* Converts the signals on SignalHandler to be instances of a new
  SwitchedSignal class, that allows signal sending to be disabled.

* Creates a SignalIsolationMixin helper similar in spirit to the
  CacheIsolationMixin, and adds it to the ModuleStoreIsolationMixin
  (and thus to ModuleStoreTestCase and SharedModuleStoreTestCase).

* Converts our various tests to use this new mechanism. In some cases,
  this means adjusting query counts downwards because they no longer
  have to account for publishing listener actions.

Modulestore generated signals are now muted by default during test runs.
Calls to send() them will result in no-ops. You can choose to enable
specific signals for a given subclass of ModuleStoreTestCase or
SharedModuleStoreTestCase by specifying an ENABLED_SIGNALS class
attribute, like the following example:

    from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase

    class MyPublishTestCase(ModuleStoreTestCase):
        ENABLED_SIGNALS = ['course_published', 'pre_publish']

You should take great care when disabling signals outside of a
ModuleStoreTestCase or SharedModuleStoreTestCase, since they can leak
out into other tests. Be sure to always clean up, and never disable
signals outside of testing. Because signals are essentially process
globals, it can have a lot of unpleasant side-effects if we start
mucking around with them during live requests.

Overall, this change has cut the total test execution time for
edx-platform by a bit over a third, though we still spend a lot in
pre-test setup during our test builds.

[PERF-413]
2017-02-23 10:31:16 -05:00
Calen Pennington
bc20a37c2b Simplify how shards are selected in CI 2016-08-03 16:23:02 -04:00
Saleem Latif
8ae92901ef 1. Merge microsites into Comprehensive Theming
2. Add site configuration overrides to theming/helpers.py
3. Move microsite.get_value from theming/helpers to site_configuration/helpers
4. Move microsite_configuration.microsite.get_value usages to site_configuration.helpers.values
2016-07-27 13:55:14 +05:00
Zia Fazal
e8ccc2f3e5 Merge pull request #11076 from CredoReference/render-lms-main-navigation-with-template
Render lms main navigation (tabs) with template
2016-02-18 11:21:16 +05:00
Dmitry Viskov
d532f8de0e Render LMS main navigation (tabs) with template, override templates for a specific list item 2016-02-16 17:03:53 +03:00
Toby Lawrence
49d3a7d35d More quality fixes. 2016-02-16 07:58:33 -05:00
Toby Lawrence
4611829ac1 Quality fixes. 2016-02-11 08:48:48 -05:00
Toby Lawrence
ad9498ecf4 Switch to SharedModuleStoreTestCase in the 'courseware' app where possible. 2016-02-08 14:11:04 -05:00
Ibrahim
0f09bb8a94 raise 404 when copyright template is missing 2016-01-22 12:02:46 -05:00
Nimisha Asthagiri
d6364312f4 Course Overview - require manual seeding of the table. 2015-12-13 23:35:46 -05:00
Peter Fogg
497622d4b4 Switch default course mode to 'audit'.
ECOM-2972
2015-11-25 11:22:29 -05:00
openedx-newbie
895f4a36b2 Fix enrollment terminology in about page tests 2015-10-08 18:00:12 +02:00
Ahsan Ulhaq
3d62580fc2 Add USD labels to prices on track selection pages
ECOM-2114
2015-08-19 23:59:15 +05:00
Christine Lytwynec
ddb1ae667e Split lms unittests into multiple shards 2015-05-07 09:17:26 -04:00
Ned Batchelder
7d799e34f3 Remove unused imports 2015-03-17 07:10:31 -04:00
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
Chris Dodge
6dea98f8f6 In microsites, don't redirect logged in users with enrollments to dashboard 2014-11-29 19:00:07 -05:00
David Ormsbee
43d8c7a712 Merge branch 'release'
Conflicts:
	lms/djangoapps/shoppingcart/processors/CyberSource2.py
2014-11-13 10:11:12 -05:00
Chris Dodge
a93faad78b try importing the exact references we need rather than deferencing it from the djangoapp module 2014-11-11 21:49:13 -05:00
stv
cf9308144d Fix PEP8: E302 expected 2 blank lines, found 1 2014-11-10 11:00:11 -08:00
Chris Dodge
3c36f7cbad Add new course_module field which describes what the catalog visibility should be (both, about, none) 2014-11-09 10:36:00 -05:00
chrisndodge
c928252b5a Revert "Revert "add an additional tag so we can route zendesk tickets better for..." 2014-09-24 13:19:51 -04:00
chrisndodge
21933bfbd7 Revert "add an additional tag so we can route zendesk tickets better for white l..." 2014-09-24 12:46:05 -04:00
Chris Dodge
e08040aa75 add an additional tag so we can route zendesk tickets better for white label sites
add tests

fix

use org
2014-09-23 15:39:21 -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
James Tauber
3cb8780284 Separate edX / Open edX footer.
We need to use an Open edX footer by default (and that's what all non-edx.org
instances should base their footer off) and only use the edX footer on
edx.org.

This commit uses `SITE_NAME` to determine which footer to use.

Sites using theming or micro-sites with a `SITE_NAME` not ending in `edx.org`
should not be affected.
2014-07-10 14:15:37 -04:00
Chris Dodge
aa43689a93 This PR addresses the open feedback on the Microsites feature 2014-02-28 16:27:12 -05:00
Ned Batchelder
1bd213beba Remove unused imports. 2014-02-10 14:07:50 -05:00
davestgermain
5122c292c7 Merge pull request #2343 from edx/dstgermain/a11y-page-titles
Added more descriptive page titles.
2014-01-30 14:33:48 -08:00
Dave St.Germain
636eab8b9e Added more descriptive page titles. 2014-01-30 17:32:03 -05:00
Chris Dodge
3554c52a20 update test to reflect that the non-microsite homepage has been changed to remove all the partnership content 2014-01-30 10:26:13 -05:00
Jay Zoldak
538ecf4852 Enable microsite tests
Move microsite test assets to common/test

Rename helper method to not have test in the name
Rename test css file
2014-01-23 10:42:51 -05:00
Chris Dodge
a3211a7405 Introduction of the Microsite feature which allows for limited multi-tenant branding on a subdomain basis, e.g. foo.edx.org and bar.edx.org
fix errorenous logic when running a microsite that could reside in a hosting environment with a marketing site in front of it

pep8/pylint fixes

address PR feedback, remove underscore from test hostname

more pep8/pylint cleanup. Skip test_microsites test, it works on localdev, not on Jenkins. Need to talk with QA team

manually add Ned's single-to-double quote fix

change aws.py runtimes so that the microsite_dir that is read from configuration is changed to a python path

Conflicts:
	lms/templates/help_modal.html
2014-01-14 14:36:01 -05:00