Merge pull request #18966 from edx/cliff/completion-tests
Fix query counts on completion tests.
This commit is contained in:
@@ -13,6 +13,11 @@ from opaque_keys.edx.keys import CourseKey, UsageKey
|
||||
from openedx.core.djangolib.testing.utils import skip_unless_lms
|
||||
from student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
|
||||
SELECT = 1
|
||||
UPDATE = 1
|
||||
SAVEPOINT = 1
|
||||
OTHER = 1
|
||||
|
||||
|
||||
@skip_unless_lms
|
||||
class PercentValidatorTestCase(TestCase):
|
||||
@@ -56,7 +61,8 @@ class SubmitCompletionTestCase(CompletionSetUpMixin, TestCase):
|
||||
self.set_up_completion()
|
||||
|
||||
def test_changed_value(self):
|
||||
with self.assertNumQueries(4): # Get, update, 2 * savepoints
|
||||
with self.assertNumQueries(SELECT + UPDATE + 2 * SAVEPOINT + 2 * OTHER):
|
||||
# OTHER = user exists, completion exists
|
||||
completion, isnew = models.BlockCompletion.objects.submit_completion(
|
||||
user=self.user,
|
||||
course_key=self.block_key.course_key,
|
||||
@@ -69,7 +75,7 @@ class SubmitCompletionTestCase(CompletionSetUpMixin, TestCase):
|
||||
self.assertEqual(models.BlockCompletion.objects.count(), 1)
|
||||
|
||||
def test_unchanged_value(self):
|
||||
with self.assertNumQueries(1): # Get
|
||||
with self.assertNumQueries(SELECT + 2 * SAVEPOINT):
|
||||
completion, isnew = models.BlockCompletion.objects.submit_completion(
|
||||
user=self.user,
|
||||
course_key=self.block_key.course_key,
|
||||
@@ -83,7 +89,7 @@ class SubmitCompletionTestCase(CompletionSetUpMixin, TestCase):
|
||||
|
||||
def test_new_user(self):
|
||||
newuser = UserFactory()
|
||||
with self.assertNumQueries(4): # Get, update, 2 * savepoints
|
||||
with self.assertNumQueries(SELECT + UPDATE + 4 * SAVEPOINT):
|
||||
_, isnew = models.BlockCompletion.objects.submit_completion(
|
||||
user=newuser,
|
||||
course_key=self.block_key.course_key,
|
||||
@@ -95,7 +101,7 @@ class SubmitCompletionTestCase(CompletionSetUpMixin, TestCase):
|
||||
|
||||
def test_new_block(self):
|
||||
newblock = UsageKey.from_string(u'block-v1:edx+test+run+type@video+block@puppers')
|
||||
with self.assertNumQueries(4): # Get, update, 2 * savepoints
|
||||
with self.assertNumQueries(SELECT + UPDATE + 4 * SAVEPOINT):
|
||||
_, isnew = models.BlockCompletion.objects.submit_completion(
|
||||
user=self.user,
|
||||
course_key=newblock.course_key,
|
||||
|
||||
@@ -30,4 +30,4 @@ scipy==0.14.0
|
||||
singledispatch==3.4.0.3 # via tornado
|
||||
six==1.11.0
|
||||
sympy==0.7.1
|
||||
tornado==5.1 # via matplotlib
|
||||
tornado==5.1.1 # via matplotlib
|
||||
|
||||
@@ -112,7 +112,7 @@ edx-ace==0.1.9
|
||||
edx-analytics-data-api-client==0.14.4
|
||||
edx-ccx-keys==0.2.1
|
||||
edx-celeryutils==0.2.7
|
||||
edx-completion==0.1.9
|
||||
edx-completion==0.1.10
|
||||
edx-django-oauth2-provider==1.3.4
|
||||
edx-django-release-util==0.3.1
|
||||
edx-django-sites-extensions==2.3.1
|
||||
@@ -169,7 +169,7 @@ mock==1.0.1
|
||||
mongoengine==0.10.0
|
||||
mysql-python==1.2.5
|
||||
networkx==1.7
|
||||
newrelic==4.2.0.100
|
||||
newrelic==4.4.0.103
|
||||
nltk==3.3.0
|
||||
nodeenv==1.1.1
|
||||
numpy==1.6.2
|
||||
@@ -242,5 +242,5 @@ webob==1.8.2 # via xblock
|
||||
wrapt==1.10.5
|
||||
xblock-review==1.1.5
|
||||
xblock-utils==1.2.0
|
||||
xblock==1.2.1
|
||||
xblock==1.2.2
|
||||
zendesk==1.1.1
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
# * confirm that it has no system requirements beyond what we already install
|
||||
# * run "make upgrade" to update the detailed requirements files
|
||||
#
|
||||
coverage==4.2 # Code coverage testing for Python
|
||||
coverage==4.4 # Code coverage testing for Python
|
||||
diff-cover==0.9.8 # Automatically find diff lines that need test coverage
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# make upgrade
|
||||
#
|
||||
coverage==4.2
|
||||
coverage==4.4
|
||||
diff-cover==0.9.8
|
||||
inflect==1.0.0 # via jinja2-pluralize
|
||||
jinja2-pluralize==0.3.0 # via diff-cover
|
||||
|
||||
@@ -77,7 +77,7 @@ configparser==3.5.0
|
||||
constantly==15.1.0
|
||||
coreapi==2.3.3
|
||||
coreschema==0.0.4
|
||||
coverage==4.2
|
||||
coverage==4.4
|
||||
cryptography==2.3.1
|
||||
cssselect==1.0.3
|
||||
cssutils==1.0.2
|
||||
@@ -131,7 +131,7 @@ edx-ace==0.1.9
|
||||
edx-analytics-data-api-client==0.14.4
|
||||
edx-ccx-keys==0.2.1
|
||||
edx-celeryutils==0.2.7
|
||||
edx-completion==0.1.9
|
||||
edx-completion==0.1.10
|
||||
edx-django-oauth2-provider==1.3.4
|
||||
edx-django-release-util==0.3.1
|
||||
edx-django-sites-extensions==2.3.1
|
||||
@@ -157,7 +157,7 @@ event-tracking==0.2.4
|
||||
execnet==1.5.0
|
||||
extras==1.0.0
|
||||
factory_boy==2.8.1
|
||||
faker==0.9.0
|
||||
faker==0.9.1
|
||||
feedparser==5.1.3
|
||||
firebase-token-generator==1.3.2
|
||||
first==2.0.1
|
||||
@@ -217,7 +217,7 @@ more-itertools==4.3.0
|
||||
moto==0.3.1
|
||||
mysql-python==1.2.5
|
||||
networkx==1.7
|
||||
newrelic==4.2.0.100
|
||||
newrelic==4.4.0.103
|
||||
nltk==3.3.0
|
||||
nodeenv==1.1.1
|
||||
numpy==1.6.2
|
||||
@@ -312,7 +312,7 @@ social-auth-app-django==2.1.0
|
||||
social-auth-core==1.7.0
|
||||
sorl-thumbnail==12.3
|
||||
sortedcontainers==0.9.2
|
||||
sphinx==1.7.9
|
||||
sphinx==1.8.0
|
||||
sphinxcontrib-websupport==1.1.0 # via sphinx
|
||||
splinter==0.9.0
|
||||
sqlparse==0.2.4
|
||||
@@ -323,8 +323,9 @@ testfixtures==6.3.0
|
||||
testtools==2.3.0
|
||||
text-unidecode==1.2
|
||||
tincan==0.0.5
|
||||
toml==0.9.6
|
||||
tox-battery==0.5.1
|
||||
tox==3.2.1
|
||||
tox==3.3.0
|
||||
traceback2==1.4.0
|
||||
transifex-client==0.13.4
|
||||
twisted==16.6.0
|
||||
@@ -347,7 +348,7 @@ werkzeug==0.14.1
|
||||
wrapt==1.10.5
|
||||
xblock-review==1.1.5
|
||||
xblock-utils==1.2.0
|
||||
xblock==1.2.1
|
||||
xblock==1.2.2
|
||||
xmltodict==0.11.0
|
||||
zendesk==1.1.1
|
||||
zope.interface==4.5.0
|
||||
|
||||
@@ -74,7 +74,7 @@ configparser==3.5.0 # via flake8, pylint
|
||||
constantly==15.1.0 # via twisted
|
||||
coreapi==2.3.3
|
||||
coreschema==0.0.4
|
||||
coverage==4.2
|
||||
coverage==4.4
|
||||
cryptography==2.3.1
|
||||
cssselect==1.0.3
|
||||
cssutils==1.0.2
|
||||
@@ -126,7 +126,7 @@ edx-ace==0.1.9
|
||||
edx-analytics-data-api-client==0.14.4
|
||||
edx-ccx-keys==0.2.1
|
||||
edx-celeryutils==0.2.7
|
||||
edx-completion==0.1.9
|
||||
edx-completion==0.1.10
|
||||
edx-django-oauth2-provider==1.3.4
|
||||
edx-django-release-util==0.3.1
|
||||
edx-django-sites-extensions==2.3.1
|
||||
@@ -151,7 +151,7 @@ event-tracking==0.2.4
|
||||
execnet==1.5.0 # via pytest-xdist
|
||||
extras==1.0.0 # via python-subunit, testtools
|
||||
factory_boy==2.8.1
|
||||
faker==0.9.0 # via factory-boy
|
||||
faker==0.9.1 # via factory-boy
|
||||
feedparser==5.1.3
|
||||
firebase-token-generator==1.3.2
|
||||
fixtures==3.0.0 # via testtools
|
||||
@@ -208,7 +208,7 @@ more-itertools==4.3.0 # via pytest
|
||||
moto==0.3.1
|
||||
mysql-python==1.2.5
|
||||
networkx==1.7
|
||||
newrelic==4.2.0.100
|
||||
newrelic==4.4.0.103
|
||||
nltk==3.3.0
|
||||
nodeenv==1.1.1
|
||||
numpy==1.6.2
|
||||
@@ -307,8 +307,9 @@ testfixtures==6.3.0
|
||||
testtools==2.3.0 # via fixtures, python-subunit
|
||||
text-unidecode==1.2 # via faker
|
||||
tincan==0.0.5
|
||||
toml==0.9.6 # via tox
|
||||
tox-battery==0.5.1
|
||||
tox==3.2.1
|
||||
tox==3.3.0
|
||||
traceback2==1.4.0 # via testtools, unittest2
|
||||
transifex-client==0.13.4
|
||||
twisted==16.6.0 # via pa11ycrawler, scrapy
|
||||
@@ -329,7 +330,7 @@ werkzeug==0.14.1 # via flask
|
||||
wrapt==1.10.5
|
||||
xblock-review==1.1.5
|
||||
xblock-utils==1.2.0
|
||||
xblock==1.2.1
|
||||
xblock==1.2.2
|
||||
xmltodict==0.11.0 # via moto
|
||||
zendesk==1.1.1
|
||||
zope.interface==4.5.0 # via twisted
|
||||
|
||||
Reference in New Issue
Block a user