Commit Graph

73 Commits

Author SHA1 Message Date
Andy Armstrong
0325425c8c Add data sharing consent redirect for more course tabs
LEARNER-394
2017-03-31 19:12:13 -04:00
Brandon DeRosier
cb85ef1f5b ENT-162 Create an enterprise enrollment during the enrollment flow 2017-02-23 19:15:20 -05: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
Anthony Mangano
0fd91f0739 add course_name to enrollment api reponse
ECOM-5936
2017-01-05 08:50:31 -05:00
John Eskew
e3cb462d18 Move embargo from common to openedx/core/djangoapps. 2016-11-07 08:47:36 -05:00
tasawernawaz
84314e7a14 Revert "update error messages in enrollment API"
This reverts commit 21746f1e93.
2016-10-28 10:12:17 +05:00
Ahsan Ulhaq
21746f1e93 update error messages in enrollment API
ECOM-4763
2016-10-17 13:15:24 +05:00
Calen Pennington
bc20a37c2b Simplify how shards are selected in CI 2016-08-03 16:23:02 -04:00
Ned Batchelder
eef964f5f6 Fix unused-variable errors 2016-08-03 12:44:41 -04:00
Ned Batchelder
8aae7bcee7 Fix redefined-function errors 2016-08-03 12:44:41 -04:00
Ned Batchelder
8b1978ba6c Fix unused-import errors 2016-08-03 12:44:41 -04:00
Tasawer
c6a6cdd72d Quality fixes.
ECOM-4214
2016-06-06 16:50:16 +05:00
Matt Drayer
a9b7e4c63d mattdrayer/course-mode-bulk-sku: Add new CourseMode field
* mattdrayer: Add bulk checkout link to course views
* asadiqbal08: MAYN-225 replace the "Verify Now" button by the "Go to Dashboard" button in case of themed sites.
* mattdrayer: Add bulk_sku check in courseware.views
2016-05-11 10:57:24 -04:00
Calen Pennington
853bfe7a36 Add a TestCase mixin for enabling caches in tests
By default, disable all caching in tests, to preserve test independence.
In order to enable caching, inherit from CacheSetupMixin, and specify
which cache configuration is needed.

[EV-32]
2016-05-04 14:51:30 -04:00
Calen Pennington
39ff841d1f Don't pass arguments to setUp (for UrlResetMixin)
The TestCase API doesn't accept arguments, so passing arguments for some
TestCase subclasses makes adding new inheritance/mixins tricky. Instead,
prefer configuration via class attributes for TestCases.
2016-05-04 11:34:51 -04:00
Ben Patterson
b9558a90f1 Create a 3rd explicit shard for unit tests.
More accurately, this creates a 4th shard because the
last shard is always the default.
2016-04-28 10:09:32 -04:00
wajeeha-khalid
588833ff43 MA-1051: DiscussionAPI - Removed http errors from api.py and refactored to more specific errors 2015-12-16 21:23:51 +05:00
Nimisha Asthagiri
c14c146d0e Merge pull request #10841 from edx/mobile/optimize-course-api
Optimize Course Catalog using CourseOverview
2015-12-11 10:03:35 -05:00
Nimisha Asthagiri
2b8441a072 Update Course Catalog to use CourseOverview 2015-12-10 20:37:50 -05:00
Bill DeRusha
005e07cb95 Remove default course mode setting in enrollment api 2015-12-09 19:46:04 -05:00
Bill DeRusha
cdb3e99f39 Enrollment API determines best default enrollment if none passed 2015-12-09 14:50:49 -05:00
Peter Fogg
497622d4b4 Switch default course mode to 'audit'.
ECOM-2972
2015-11-25 11:22:29 -05:00
Brian Beggs
d9de52751d Merge remote-tracking branch 'origin/release' into bbeggs/2015-09-22-release-to-master 2015-09-28 20:58:34 -04:00
Ben Patterson
2fd6add524 Revert "Merge DRF 3.1 in to master" 2015-09-28 17:12:43 -04:00
Will Daly
d11ccad0fc Upgrade djangorestframework to v3.1
* Upgrade edx-submissions
* Upgrade edx-ora2
* Upgrade edx-val
* Upgrade edx-proctoring
* Update all edx-platform code that depends on DRF, including:
  - auth_exchange
  - cors_csrf
  - embargo
  - enrollment
  - util
  - commerce
  - course_structure
  - discussion_api
  - mobile_api
  - notifier_api
  - teams
  - credit
  - profile_images
  - user_api
  - lib/api (OAuth2 and pagination)
2015-09-28 11:52:30 -04:00
Will Daly
8555630df7 Upgrade djangorestframework to v3.1
* Upgrade edx-submissions
* Upgrade edx-ora2
* Upgrade edx-val
* Upgrade edx-proctoring
* Update all edx-platform code that depends on DRF, including:
  - auth_exchange
  - cors_csrf
  - embargo
  - enrollment
  - util
  - commerce
  - course_structure
  - discussion_api
  - mobile_api
  - notifier_api
  - teams
  - credit
  - profile_images
  - user_api
  - lib/api (OAuth2 and pagination)
2015-09-25 12:40:57 -04:00
Sven Marnach
4377981486 Optimise getting list of courses from Enrollment API for global staff. 2015-09-02 22:21:58 +02:00
Sven Marnach
dd0218416b Allow staff users to request a list of courses a student is enrolled in.
The list only includes those courses the requesting user has staff access for.
2015-08-28 21:58:22 +02:00
Renzo Lucioni
4131aa4d38 Allow enrollments in expired modes to be deactivated
Facilitates revocation of enrollments in expired modes. XCOM-490.
2015-07-30 12:39:25 -04:00
Renzo Lucioni
b50c905865 Remove modulestore dependency from Enrollment API
Sets the Enrollment API free of the modulestore by replacing modulestore queries with calls to the CourseOverview model. Course deletion invalidates the corresponding CourseOverview. XCOM-462.
2015-07-20 13:41:19 -04:00
Ahsan Ulhaq
8d9d4b85d5 LMS: Modification in enrollment API
Changed enrollment api to set enrollment atributes if the course is
credit course

ECOM-1719
2015-07-07 00:49:02 +05:00
Renzo Lucioni
d330831871 Improve logging of ecommerce interactions
Adds standardized audit logging for checkout and enrollment change requests. XCOM-427.
2015-06-30 17:34:16 -04:00
Nickersoft
e184c78c0a XCOM-416: Embargo restrictions are now enforced during logistration 2015-06-23 14:17:43 -04:00
Edward Zarecor
c12c5c926d fixing post-release merge conflicts with DKH 2015-06-10 16:56:21 -04:00
Nickersoft
8c1d3ae412 Added includes_expired parameter to enrollment API
- Adding ?include_expired=1 to course detail requests will now include expired course verifications
2015-06-09 17:12:30 -04:00
jsa
445d0dabb6 Correct deactivation logic in enrollment api and test.
XCOM-396
2015-06-08 11:06:52 -04:00
jsa
445a0c938b Add tests for enrollment deactivation under various modes.
A bug with the creation of inactive honor enrollment modes was caught and fixed along the way.

XCOM-388
2015-06-04 09:40:54 -04:00
Renzo Lucioni
960b02cf98 Allow enrollment API to deactivate enrollments
Will allow Otto to revoke fulfillment of course seat products. Only server-to-server calls are currently allowed to deactivate or otherwise modify existing enrollments.
2015-05-18 19:44:02 -04:00
Ned Batchelder
78e9445aa1 Add super() calls to setUp/tearDown that are missing them
Also, I replaced a number of tearDown methods with addCleanup instead.
And also remove some unneeded patch.stopall() calls.
2015-05-14 18:14:21 -04:00
Clinton Blackburn
bfb201ec7d Merge pull request #7822 from edx/clintonb/receipt-page-update
Updated Receipt Page for Oscar
2015-05-02 09:32:11 -04:00
Clinton Blackburn
1a1fe56b29 Added Oscar-Compatible Receipt Page 2015-05-02 00:18:05 -04:00
Will Daly
5d16ed46a2 Enrollment API course details include credit modes.
Credit modes are hidden by default, since the user
isn't allowed to select them on the track selection page.
This commit exposes credit modes through the enrollment
API so that consumers can see that a course has a credit
track.
2015-05-01 12:36:30 -04:00
Will Daly
fc918fb3d1 Expose course start/end date in the enrollment API 2015-04-21 08:41:42 -04:00
Clinton Blackburn
cd5039383e Returning complete URL for Enrollment API user messaging
The Enrollment API now returns the complete URL in the user_message_url field. Returning just the path can result in 404s if the consuming code simply redirects to the value of this field without first checking to see if the hostname is included. Using the full URL solves this problem for all clients.
2015-04-15 11:29:54 -04:00
Clinton Blackburn
e18d69a9e9 Fixed Embargo Bug in Enrollment API
This issue was not found sooner because the test helper used only tested for GeoIP embargoes, and neglected the user profile. An additional test has been added to test for embargoes against the country assigned to the user's profile. Additionally, variable names have been cleaned up--user replaced with username--to avoid confusion in the future.
2015-04-14 22:07:25 -04:00
zubair-arbi
a9b13f0e72 log and ignore invlaid/deleted courses in Enrollment API
ECOM-1273
2015-04-01 16:26:24 +05:00
Brian Wilson
243e2660b0 Merge release to master for 20150317 release. 2015-03-18 18:48:56 -04:00
Stephen Sanchez
4acfbbdf21 Reverting the change to add a 201_CREATED status to the enrollment API. 2015-03-18 20:31:58 +00:00
Stephen Sanchez
8c9f6370b8 Allow Enrollment API supports creating and upgrade course modes other than honor.
Fixing tests, cleaning up POST handler to be easier to read.

Wording fixed for unit test comments.
2015-03-18 17:12:02 +00:00
Stephen Sanchez
d901b1d3e3 Allow services to ignore user throttling. 2015-03-18 13:48:32 +00:00