Skip to content

Commit

Permalink
test: add test for new endpoint
Browse files Browse the repository at this point in the history
small test but I also took the opportunity to introuce the DDT library
for the future which required a make upgrade
  • Loading branch information
ashultz0 committed Jul 27, 2023
1 parent 0f7cc6d commit dc198b6
Show file tree
Hide file tree
Showing 10 changed files with 61 additions and 28 deletions.
5 changes: 3 additions & 2 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,16 @@ django==3.2.20
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/base.in
# django-crum
# django-waffle
# djangorestframework
# edx-django-utils
django-crum==0.7.9
# via edx-django-utils
django-waffle==3.0.0
django-waffle==4.0.0
# via edx-django-utils
djangorestframework==3.14.0
# via -r requirements/base.in
edx-django-utils==5.5.0
edx-django-utils==5.6.0
# via -r requirements/base.in
edx-opaque-keys==2.3.0
# via -r requirements/base.in
Expand Down
2 changes: 1 addition & 1 deletion requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ tox==3.28.0
# tox-battery
tox-battery==0.6.1
# via -r requirements/ci.in
virtualenv==20.24.0
virtualenv==20.24.2
# via tox
19 changes: 11 additions & 8 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,19 @@ click-log==0.4.0
# via
# -r requirements/quality.txt
# edx-lint
code-annotations==1.3.0
code-annotations==1.5.0
# via
# -r requirements/quality.txt
# edx-lint
coverage[toml]==7.2.7
# via
# -r requirements/quality.txt
# pytest-cov
ddt==1.6.0
# via -r requirements/quality.txt
diff-cover==7.7.0
# via -r requirements/dev.in
dill==0.3.6
dill==0.3.7
# via
# -r requirements/quality.txt
# pylint
Expand All @@ -63,20 +65,21 @@ django==3.2.20
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/quality.txt
# django-crum
# django-waffle
# djangorestframework
# edx-django-utils
# edx-i18n-tools
django-crum==0.7.9
# via
# -r requirements/quality.txt
# edx-django-utils
django-waffle==3.0.0
django-waffle==4.0.0
# via
# -r requirements/quality.txt
# edx-django-utils
djangorestframework==3.14.0
# via -r requirements/quality.txt
edx-django-utils==5.5.0
edx-django-utils==5.6.0
# via -r requirements/quality.txt
edx-i18n-tools==1.0.0
# via -r requirements/dev.in
Expand Down Expand Up @@ -180,7 +183,7 @@ pydocstyle==6.3.0
# via -r requirements/quality.txt
pygments==2.15.1
# via diff-cover
pylint==2.17.4
pylint==2.17.5
# via
# -r requirements/quality.txt
# edx-lint
Expand Down Expand Up @@ -279,7 +282,7 @@ tomli==2.0.1
# pyproject-hooks
# pytest
# tox
tomlkit==0.11.8
tomlkit==0.12.1
# via
# -r requirements/quality.txt
# pylint
Expand All @@ -296,7 +299,7 @@ typing-extensions==4.7.1
# asgiref
# astroid
# pylint
virtualenv==20.24.0
virtualenv==20.24.2
# via
# -r requirements/ci.txt
# tox
Expand All @@ -308,7 +311,7 @@ webob==1.8.7
# via
# -r requirements/quality.txt
# xblock
wheel==0.40.0
wheel==0.41.0
# via
# -r requirements/pip-tools.txt
# pip-tools
Expand Down
13 changes: 8 additions & 5 deletions requirements/doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ bleach==6.0.0
# via readme-renderer
build==0.10.0
# via -r requirements/doc.in
certifi==2023.5.7
certifi==2023.7.22
# via requests
cffi==1.15.1
# via
Expand All @@ -39,24 +39,27 @@ click==8.1.6
# -r requirements/test.txt
# code-annotations
# edx-django-utils
code-annotations==1.3.0
code-annotations==1.5.0
# via -r requirements/test.txt
coverage[toml]==7.2.7
# via
# -r requirements/test.txt
# pytest-cov
ddt==1.6.0
# via -r requirements/test.txt
django==3.2.20
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/test.txt
# django-crum
# django-waffle
# djangorestframework
# edx-django-utils
django-crum==0.7.9
# via
# -r requirements/test.txt
# edx-django-utils
django-waffle==3.0.0
django-waffle==4.0.0
# via
# -r requirements/test.txt
# edx-django-utils
Expand All @@ -71,7 +74,7 @@ docutils==0.19
# readme-renderer
# restructuredtext-lint
# sphinx
edx-django-utils==5.5.0
edx-django-utils==5.6.0
# via -r requirements/test.txt
edx-opaque-keys==2.3.0
# via -r requirements/test.txt
Expand Down Expand Up @@ -120,7 +123,7 @@ markupsafe==2.1.3
# xblock
mdurl==0.1.2
# via markdown-it-py
more-itertools==9.1.0
more-itertools==10.0.0
# via jaraco-classes
newrelic==8.8.1
# via
Expand Down
3 changes: 2 additions & 1 deletion requirements/pip-tools.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ tomli==2.0.1
# via
# build
# pip-tools
wheel==0.40.0
# pyproject-hooks
wheel==0.41.0
# via pip-tools

# The following packages are considered to be unsafe in a requirements file:
Expand Down
4 changes: 2 additions & 2 deletions requirements/pip.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
#
# make upgrade
#
wheel==0.40.0
wheel==0.41.0
# via -r requirements/pip.in

# The following packages are considered to be unsafe in a requirements file:
pip==23.2
pip==23.2.1
# via -r requirements/pip.in
setuptools==68.0.0
# via -r requirements/pip.in
15 changes: 9 additions & 6 deletions requirements/quality.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,34 +29,37 @@ click==8.1.6
# edx-lint
click-log==0.4.0
# via edx-lint
code-annotations==1.3.0
code-annotations==1.5.0
# via
# -r requirements/test.txt
# edx-lint
coverage[toml]==7.2.7
# via
# -r requirements/test.txt
# pytest-cov
dill==0.3.6
ddt==1.6.0
# via -r requirements/test.txt
dill==0.3.7
# via pylint
django==3.2.20
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/test.txt
# django-crum
# django-waffle
# djangorestframework
# edx-django-utils
django-crum==0.7.9
# via
# -r requirements/test.txt
# edx-django-utils
django-waffle==3.0.0
django-waffle==4.0.0
# via
# -r requirements/test.txt
# edx-django-utils
djangorestframework==3.14.0
# via -r requirements/test.txt
edx-django-utils==5.5.0
edx-django-utils==5.6.0
# via -r requirements/test.txt
edx-lint==5.3.4
# via -r requirements/quality.in
Expand Down Expand Up @@ -125,7 +128,7 @@ pycparser==2.21
# cffi
pydocstyle==6.3.0
# via -r requirements/quality.in
pylint==2.17.4
pylint==2.17.5
# via
# edx-lint
# pylint-celery
Expand Down Expand Up @@ -203,7 +206,7 @@ tomli==2.0.1
# coverage
# pylint
# pytest
tomlkit==0.11.8
tomlkit==0.12.1
# via pylint
typing-extensions==4.7.1
# via
Expand Down
2 changes: 2 additions & 0 deletions requirements/test.in
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@
pytest-cov # pytest extension for code coverage statistics
pytest-django # pytest extension for better Django support
code-annotations # provides commands used by the pii_check make target.

ddt
9 changes: 6 additions & 3 deletions requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,27 +21,30 @@ click==8.1.6
# -r requirements/base.txt
# code-annotations
# edx-django-utils
code-annotations==1.3.0
code-annotations==1.5.0
# via -r requirements/test.in
coverage[toml]==7.2.7
# via pytest-cov
ddt==1.6.0
# via -r requirements/test.in
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/base.txt
# django-crum
# django-waffle
# djangorestframework
# edx-django-utils
django-crum==0.7.9
# via
# -r requirements/base.txt
# edx-django-utils
django-waffle==3.0.0
django-waffle==4.0.0
# via
# -r requirements/base.txt
# edx-django-utils
djangorestframework==3.14.0
# via -r requirements/base.txt
edx-django-utils==5.5.0
edx-django-utils==5.6.0
# via -r requirements/base.txt
edx-opaque-keys==2.3.0
# via -r requirements/base.txt
Expand Down
17 changes: 17 additions & 0 deletions tests/api/test_views.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
"""
Tests for the API
"""
from unittest.mock import patch

import ddt
from django.urls import reverse
from opaque_keys.edx.keys import CourseKey, UsageKey
from rest_framework.test import APITestCase
Expand All @@ -18,9 +21,23 @@
]


@ddt.ddt
class TestApiViews(APITestCase):
"""API Endpoint View tests"""

@ddt.data(True, False)
@patch('ai_aside.api.api.summaries_configuration_enabled')
def test_course_configurable(self, enabled, mock_enabled):
mock_enabled.return_value = enabled
course_id = course_keys[0]

api_url = reverse('api-course-configurable', kwargs={'course_id': course_id})
response = self.client.get(api_url)

self.assertEqual(response.status_code, 200)
self.assertEqual(response.data['response']['success'], True)
self.assertEqual(response.data['response']['enabled'], enabled)

def test_course_enabled_setter_enable_valid(self):
course_id = course_keys[0]

Expand Down

0 comments on commit dc198b6

Please sign in to comment.