This will remove imports from __future__ that are no longer needed. https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
80 lines
3.0 KiB
Python
80 lines
3.0 KiB
Python
"""
|
|
Tests for the organizations helpers library, which is the integration point for the edx-organizations API
|
|
"""
|
|
|
|
|
|
import six
|
|
from mock import patch
|
|
|
|
from util import organizations_helpers
|
|
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
|
|
from xmodule.modulestore.tests.factories import CourseFactory
|
|
|
|
|
|
@patch.dict('django.conf.settings.FEATURES', {'ORGANIZATIONS_APP': False})
|
|
class OrganizationsHelpersTestCase(ModuleStoreTestCase):
|
|
"""
|
|
Main test suite for Organizations API client library
|
|
"""
|
|
|
|
CREATE_USER = False
|
|
|
|
def setUp(self):
|
|
"""
|
|
Test case scaffolding
|
|
"""
|
|
super(OrganizationsHelpersTestCase, self).setUp()
|
|
self.course = CourseFactory.create()
|
|
|
|
self.organization = {
|
|
'name': 'Test Organization',
|
|
'short_name': 'Orgx',
|
|
'description': 'Testing Organization Helpers Library',
|
|
}
|
|
|
|
def test_get_organization_returns_none_when_app_disabled(self):
|
|
response = organizations_helpers.get_organization(1)
|
|
self.assertEqual(len(response), 0)
|
|
|
|
def test_get_organizations_returns_none_when_app_disabled(self):
|
|
response = organizations_helpers.get_organizations()
|
|
self.assertEqual(len(response), 0)
|
|
|
|
def test_get_organization_courses_returns_none_when_app_disabled(self):
|
|
response = organizations_helpers.get_organization_courses(1)
|
|
self.assertEqual(len(response), 0)
|
|
|
|
def test_get_course_organizations_returns_none_when_app_disabled(self):
|
|
response = organizations_helpers.get_course_organizations(six.text_type(self.course.id))
|
|
self.assertEqual(len(response), 0)
|
|
|
|
def test_add_organization_returns_none_when_app_disabled(self):
|
|
response = organizations_helpers.add_organization(organization_data=self.organization)
|
|
self.assertIsNone(response)
|
|
|
|
def test_add_organization_course_returns_none_when_app_disabled(self):
|
|
response = organizations_helpers.add_organization_course(self.organization, self.course.id)
|
|
self.assertIsNone(response)
|
|
|
|
def test_get_organization_by_short_name_when_app_disabled(self):
|
|
"""
|
|
Tests get_organization_by_short_name api when app is disabled.
|
|
"""
|
|
response = organizations_helpers.get_organization_by_short_name(self.organization['short_name'])
|
|
self.assertIsNone(response)
|
|
|
|
@patch.dict('django.conf.settings.FEATURES', {'ORGANIZATIONS_APP': True})
|
|
def test_get_organization_by_short_name_when_app_enabled(self):
|
|
"""
|
|
Tests get_organization_by_short_name api when app is enabled.
|
|
"""
|
|
response = organizations_helpers.add_organization(organization_data=self.organization)
|
|
self.assertIsNotNone(response['id'])
|
|
|
|
response = organizations_helpers.get_organization_by_short_name(self.organization['short_name'])
|
|
self.assertIsNotNone(response['id'])
|
|
|
|
# fetch non existing org
|
|
response = organizations_helpers.get_organization_by_short_name('non_existing')
|
|
self.assertIsNone(response)
|