示例#1
0
    def setUp(self):
        super(CourseRunStateSerializerTests, self).setUp()
        self.run_state = CourseRunStateFactory(
            name=CourseRunStateChoices.Draft)
        self.course_run = self.run_state.course_run
        self.request = RequestFactory()
        self.user = UserFactory()
        self.request.user = self.user
        CourseStateFactory(name=CourseStateChoices.Approved,
                           course=self.course_run.course)

        SeatFactory(course_run=self.course_run, type=Seat.AUDIT)
        language_tag = LanguageTag(code='te-st', name='Test Language')
        language_tag.save()
        self.course_run.transcript_languages.add(language_tag)
        self.course_run.language = language_tag
        organization = OrganizationFactory()
        self.course_run.course.organizations.add(organization)
        self.course_run.save()
        self.course_run.staff.add(PersonFactory())

        toggle_switch('enable_publisher_email_notifications', True)
        CourseUserRoleFactory(course=self.course_run.course,
                              role=PublisherUserRole.CourseTeam,
                              user=self.user)
        CourseUserRoleFactory(course=self.course_run.course,
                              role=PublisherUserRole.ProjectCoordinator,
                              user=UserFactory())
示例#2
0
    def test_macrolanguage(self):
        """ Verify the property returns the macrolanguage for a given LanguageTag. """
        en_us = LanguageTag(code='en-us', name='English - United States')
        self.assertEqual(en_us.macrolanguage, 'English')

        sw = LanguageTag(code='sw', name='Swahili')
        self.assertEqual(sw.macrolanguage, 'Swahili')
    def setUp(self):
        super(ChangeCourseRunStateViewTests, self).setUp()
        self.seat = factories.SeatFactory(type=Seat.VERIFIED, price=2)
        self.course_run = self.seat.course_run

        self.run_state = factories.CourseRunStateFactory(name=CourseRunStateChoices.Draft, course_run=self.course_run)
        self.course_state = factories.CourseStateFactory(
            name=CourseStateChoices.Approved, course=self.course_run.course
        )
        self.user = UserFactory()
        self.user.groups.add(Group.objects.get(name=INTERNAL_USER_GROUP_NAME))

        self.change_state_url = reverse('publisher:api:change_course_run_state', kwargs={'pk': self.run_state.id})

        self.client.login(username=self.user.username, password=USER_PASSWORD)

        language_tag = LanguageTag(code='te-st', name='Test Language')
        language_tag.save()
        self.course_run.transcript_languages.add(language_tag)
        self.course_run.language = language_tag
        self.course_run.lms_course_id = 'course-v1:edX+DemoX+Demo_Course'
        self.course_run.course.organizations.add(OrganizationFactory())
        self.course_run.save()

        self.course_run.staff.add(PersonFactory())

        toggle_switch('enable_publisher_email_notifications', True)
示例#4
0
    def setUp(self):
        super(CourseRunStateTests, self).setUp()

        language_tag = LanguageTag(code='te-st', name='Test Language')
        language_tag.save()
        self.course_run.transcript_languages.add(language_tag)
        self.course_run.language = language_tag
        self.course_run.is_micromasters = True
        self.course_run.micromasters_name = 'test'
        self.course_run.save()
        self.course.course_state.name = CourseStateChoices.Approved
        self.course.save()
        self.course_run.staff.add(PersonFactory())
        self.assertTrue(self.course_run_state.can_send_for_review())
示例#5
0
    def test_str(self):
        """ Verify casting a LanguageTag to a string returns a string containing the code and name of the model. """

        code = 'te-st',
        name = 'Test LanguageTag'
        tag = LanguageTag(code=code, name=name)
        self.assertEqual(str(tag), tag.name)
    def setUp(self):
        super(CourseRunStateTests, self).setUp()

        language_tag = LanguageTag(code='te-st', name='Test Language')
        language_tag.save()

        self.site = SiteFactory()
        self.partner = PartnerFactory(site=self.site)
        self.course_run.transcript_languages.add(language_tag)
        self.course_run.language = language_tag
        self.course_run.is_micromasters = True
        self.course_run.micromasters_name = 'test'
        self.course_run.lms_course_id = 'course-v1:edX+DemoX+Demo_Course'
        self.course_run.save()
        self.course.course_state.name = CourseStateChoices.Approved
        self.course.save()
        self.course_run.staff.add(PersonFactory())
        self.course_run_state.preview_accepted = False
        self.course_run_state.save()
        self.assertTrue(self.course_run_state.can_send_for_review())
示例#7
0
from django.test import TestCase
from opaque_keys.edx.keys import CourseKey
from testfixtures import LogCapture

from course_discovery.apps.course_metadata.choices import CourseRunPacing, CourseRunStatus
from course_discovery.apps.course_metadata.data_loaders.marketing_site import (
    CourseMarketingSiteDataLoader, PersonMarketingSiteDataLoader,
    SchoolMarketingSiteDataLoader, SponsorMarketingSiteDataLoader,
    SubjectMarketingSiteDataLoader)
from course_discovery.apps.course_metadata.data_loaders.tests import JSON, mock_data
from course_discovery.apps.course_metadata.data_loaders.tests.mixins import DataLoaderTestMixin
from course_discovery.apps.course_metadata.models import Course, Organization, Person, Subject
from course_discovery.apps.course_metadata.tests import factories
from course_discovery.apps.ietf_language_tags.models import LanguageTag

ENGLISH_LANGUAGE_TAG = LanguageTag(code='en-us',
                                   name='English - United States')
LOGGER_PATH = 'course_discovery.apps.course_metadata.data_loaders.marketing_site.logger'


class AbstractMarketingSiteDataLoaderTestMixin(DataLoaderTestMixin):
    mocked_data = []

    @property
    def api_url(self):
        return self.partner.marketing_site_url_root

    def mock_api_callback(self, url, data):
        """ Paginate the data, one item per page. """
        def request_callback(request):
            count = len(data)
示例#8
0
 def test_search_facet_display_translated(self):
     en_us = LanguageTag(code='en_US', name='English - United States')
     zh_cn = LanguageTag(code='zh_CN', name='Chinese - Traditional')
     en_us.set_current_language('es')
     zh_cn.set_current_language('es')
     zh_cn.name_t = 'Chino - Tradicional'
     en_us.name_t = 'Inglés - Estados Unidos'
     self.assertEqual(en_us.get_search_facet_display(translate=True),
                      'Inglés')
     self.assertEqual(zh_cn.get_search_facet_display(translate=True),
                      'Chino - Tradicional')
示例#9
0
 def test_translated_macrolanguage(self):
     """ Verify the property returns the translated macrolanguage for a given LanguageTag. """
     en_us = LanguageTag(code='en-us', name='English - United States')
     en_us.name_t = 'Inglés - Estados Unidos'
     self.assertEqual(en_us.translated_macrolanguage, 'Inglés')
示例#10
0
 def test_search_facet_display_untranslated(self):
     en_us = LanguageTag(code='en_US', name='English - United States')
     zh_cn = LanguageTag(code='zh_CN', name='Chinese - Traditional')
     en_us.set_current_language('es')
     zh_cn.set_current_language('es')
     en_us.name_t = 'Inglés - Estados Unidos'
     zh_cn.name_t = 'Chino - Tradicional'
     assert en_us.get_search_facet_display() == 'English'
     assert zh_cn.get_search_facet_display() == 'Chinese - Traditional'