Commit Graph

63 Commits

Author SHA1 Message Date
Daniel Friedman
edd833ebc4 Fix grades download in courses with cohorted content
TNL-1351
2015-02-10 09:33:27 -05:00
muhammad-ammar
b93dcea315 Change column name in grade report
TNL-1244
2015-02-06 09:16:32 +05: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
Adam Palay
4381ccd463 Merge remote-tracking branch 'origin/release' into merge-release-into-master 2015-01-15 14:51:34 -05:00
Waheed Ahmed
373f8e82f3 Fixed unicode error in CSV grade report generation.
TNL-1196
2015-01-15 11:47:25 -05:00
Andy Armstrong
ac58ebf7da Rename 'cohort groups' to just 'cohorts' 2015-01-15 10:33:48 -05:00
Christine Lytwynec
66228224c0 Merge pull request #6403 from edx/clytwynec/remove_lynx_from_bulk_email
Mock html_to_text.py for unit tests
2015-01-08 14:10:12 -05:00
muhammad-ammar
5ba492ecf3 Get students experiments, groups, and cohorts
TNL-498
2015-01-08 14:29:53 +05:00
Christine Lytwynec
3127ac2b6c mock html_to_text for tests 2015-01-05 16:19:36 -05:00
Calen Pennington
980f30c17f Move lms.lib.xblock into lms.djangoapps.lms_xblock in preparation add database backed configuration to it 2014-12-12 21:45:21 -05:00
Daniel Friedman
3d91f43030 Support cohorting students via a CSV File.
TNL-735
2014-12-10 09:23:04 -05:00
Andy Armstrong
356b2335e9 Add base support for cohorted group configurations
TNL-649
2014-12-05 09:52:26 -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
19f1dacab2 s/pylint: disable=E1101/pylint: disable=no-member/ 2014-12-01 11:22:09 -05:00
Muhammad Ammar
e8e7e78e09 Merge pull request #5655 from edx/ammar/unit-improvements
Unit Test Improvements
2014-11-05 19:55:39 +05:00
muhammad-ammar
fcaa783e43 Unit Test Improvements
TE-489
2014-10-31 11:55:13 +00:00
Daniel Friedman
9bf22ea9fe Verify grade export works for problems in split tests
TNL-41
2014-10-30 09:58:16 -04:00
Daniel Friedman
37158bab1f Create standard way of updating a task's progress
TNL-566
2014-10-15 15:58:08 -04:00
Daniel Friedman
1b03534b55 Rename upload_*_to_s3 to no longer reference s3
TNL-534
2014-10-14 14:31:11 -04:00
Daniel Friedman
736ed94064 Fix unicode-related failures in CSV upload.
TNL-586
2014-10-08 13:21:00 -04:00
Daniel Friedman
ba3f7f9409 Make student profile CSV download a background task, add cohort column 2014-10-02 14:21:13 -04:00
Kevin Luo
7627d34339 Remove unicode conversion of email since it should always be unicode 2014-09-15 10:58:09 -07:00
Kevin Luo
f832e4f294 Convert unicode emails to byte strings for CSV grade reports 2014-09-12 17:50:30 -07:00
Nimisha Asthagiri
8855b12b76 Update tests to allow LMS tests to use published branch setting.
Conflicts:
	cms/djangoapps/contentstore/views/tests/test_container_page.py
	common/djangoapps/external_auth/tests/test_shib.py
	common/djangoapps/student/tests/test_login.py
	common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
	common/lib/xmodule/xmodule/modulestore/tests/factories.py
	common/lib/xmodule/xmodule/modulestore/xml_importer.py
	lms/djangoapps/branding/tests.py
	lms/djangoapps/courseware/tests/test_submitting_problems.py
	lms/djangoapps/courseware/tests/test_video_handlers.py
	lms/djangoapps/instructor_task/tests/test_base.py
	lms/djangoapps/instructor_task/tests/test_integration.py
2014-07-09 21:10:12 -04:00
Nimisha Asthagiri
ea32529866 Fix all modulestore calls to pass in user ids. 2014-07-09 21:10:12 -04:00
Nimisha Asthagiri
a9213509c3 Enable Mixed Modulestore STUD-1540
Refactor get_parent_locations STUD-1663
2014-06-26 18:00:11 -04:00
Sarina Canelake
0f2b4cd2b6 Merge pull request #3931 from edx/sarina/fixup-external-opaque-keys-impls
Use external OpaqueKey implementations
2014-05-29 18:23:08 -04:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Adam Palay
5b769df452 No longer chunk queries when sending out bulk email (LMS-2718)
refactor _generate_items_for_subtask not to chunk queries

use django's iterator methor for querysets

remove bulk email query settings

use read_replica if available, since this is read-only

update changelog
2014-05-29 09:10:25 -04:00
Don Mitchell
7be81341d7 Revert StudentModule.module_state_key to field rather than computed property 2014-05-09 10:41:12 -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
Don Mitchell
b8ea7f3c43 update_item and other refactorings continued 2014-02-05 10:24:24 -05:00
Don Mitchell
c601b75675 MixedModulestore wraps most getters, update_item, delete_item
with code to translate between addressing schemes based on app
and persistence layer addressing scheme specification.

STUD-1206
2014-02-05 09:34:30 -05:00
Usman Khalid
95a112a3dd instructor_task: Distribute extra items among subtasks of last query.
When creating an instructor task total_num_items may change between the
time it and the number of subtasks is calculated and the time the
subtasks are actually queued (all of this cannot happen in one transaction).
In such a case the extra items are distributed among the subtasks of the
last query.

LMS-2090
2014-02-04 23:30:02 +05:00
Sarina Canelake
3584b246dd Translate strings in xmodule/capa_*.py
LMS-1744
2014-01-17 15:01:59 -05:00
David Baumgold
d15391fdfa Update factory_boy to 2.2.1 2013-12-05 15:50:49 -05:00
Calen Pennington
864d831ce3 Use XBlock handlers for handle_ajax in XModules
Adds xblock handler_url support to the LMS, and makes handle_ajax use
that code.

[LMS-230] [LMS-229]
2013-11-08 11:08:48 -05:00
Brian Wilson
03b4330c04 Update tests with more complete coverage. 2013-10-10 15:34:16 -04:00
Brian Wilson
653442be43 Internationalize task progress. 2013-10-10 15:33:00 -04:00
Brian Wilson
506f91a95e Use separate retry count for calculating retry delay. 2013-10-10 15:32:59 -04:00
Brian Wilson
42033ca80c Update handling of bulk-email retries to update InstructorTask before each retry. 2013-10-10 15:32:59 -04:00
Brian Wilson
e2d985209c Move updates for InstructorTask into BaseInstructorTask abstract class. 2013-10-10 15:32:58 -04:00
Brian Wilson
d171dc3efc Refactor instructor_task tests, and add handling for general errors in bulk_email subtasks. 2013-10-10 15:32:58 -04:00
Brian Wilson
2337b6d863 Pass status into course_email for tracking retry status. 2013-10-10 15:32:58 -04:00
Brian Wilson
8f31acbeb4 Add support for counting and reporting skips in background tasks. 2013-10-10 15:32:58 -04:00
Brian Wilson
d48e90ee22 Initial refactoring for bulk_email monitoring. 2013-10-10 15:32:58 -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
Don Mitchell
3722685e1a No longer persist XModule templates
Instead, we use XModule field default values when creating an empty
XModule. Driven by this use case, we also allow for XModules to be
created in memory without being persisted to the database at all. This
necessitates a change to the Modulestore api, replacing clone_item with
create_draft and save_xmodule.
2013-07-16 14:33:58 -04:00
Brian Wilson
332a440539 Enable per-student background tasks. 2013-06-24 18:47:50 -04:00