コード例 #1
0
    def test_get_dates_for_course(self):
        items = make_items()
        api.set_dates_for_course(items[0][0].course_key, items)
        retrieved = api.get_dates_for_course(items[0][0].course_key)
        assert len(retrieved) == NUM_OVERRIDES
        first = items[0]
        assert retrieved[(first[0], 'due')] == first[1]['due']

        # second time is cached
        retrieved = api.get_dates_for_course(items[0][0].course_key)
        assert len(retrieved) == NUM_OVERRIDES

        # third time with new course_id

        course2 = DummyCourse(id='course-v1:testX+tt202+2019')
        course2.save()
        new_items = make_items(course2.id)

        enrollment2 = DummyEnrollment(user=self.user, course=course2)
        enrollment2.save()

        schedule2 = DummySchedule(enrollment=enrollment2,
                                  start_date=datetime(2019, 4, 1))
        schedule2.save()

        api.set_dates_for_course(new_items[0][0].course_key, new_items)
        new_retrieved = api.get_dates_for_course(new_items[0][0].course_key)
        assert len(new_retrieved) == NUM_OVERRIDES
        first_id = list(new_retrieved.keys())[0][0]
        last_id = list(retrieved.keys())[0][0]
        assert first_id.course_key != last_id.course_key
        return items
コード例 #2
0
    def setUp(self):
        super().setUp()

        self.course = DummyCourse(id='course-v1:testX+tt101+2019')
        self.course.save()

        self.user = User(username='******', email='*****@*****.**')
        self.user.save()

        self.enrollment = DummyEnrollment(user=self.user, course=self.course)
        self.enrollment.save()

        self.schedule = DummySchedule(enrollment=self.enrollment,
                                      start_date=datetime(2019, 4, 1))
        self.schedule.save()

        dummy_schedule_patcher = patch('edx_when.models.Schedule',
                                       DummySchedule)
        dummy_schedule_patcher.start()
        self.addCleanup(dummy_schedule_patcher.stop)

        relative_dates_patcher = patch(
            'edx_when.api._are_relative_dates_enabled', return_value=True)
        relative_dates_patcher.start()
        self.addCleanup(relative_dates_patcher.stop)
        self.addCleanup(cache.clear)

        cache.clear()
        DEFAULT_REQUEST_CACHE.clear()
コード例 #3
0
ファイル: test_api.py プロジェクト: edx/edx-when
    def setUp(self):
        super().setUp()

        self.course = DummyCourse(id='course-v1:testX+tt101+2019')
        self.course.save()

        self.course_version = 'TEST_VERSION'

        self.user = User(username='******', email='*****@*****.**')
        self.user.save()

        self.enrollment = DummyEnrollment(user=self.user, course=self.course)
        self.enrollment.save()

        self.schedule = DummySchedule(
            enrollment=self.enrollment, created=datetime(2019, 4, 1), start_date=datetime(2019, 4, 1)
        )
        self.schedule.save()

        dummy_schedule_patcher = patch('edx_when.utils.Schedule', DummySchedule)
        dummy_schedule_patcher.start()
        self.addCleanup(dummy_schedule_patcher.stop)

        relative_dates_patcher = patch('edx_when.api._are_relative_dates_enabled', return_value=True)
        relative_dates_patcher.start()
        self.addCleanup(relative_dates_patcher.stop)
        self.addCleanup(TieredCache.dangerous_clear_all_tiers)

        TieredCache.dangerous_clear_all_tiers()
コード例 #4
0
ファイル: test_models.py プロジェクト: httpsOmkar/edx-when
    def setUp(self):
        super(TestContentDate, self).setUp()
        self.course = DummyCourse(id='course-v1:edX+Test+Course')
        self.course.save()

        self.user = User()
        self.user.save()

        self.enrollment = DummyEnrollment(user=self.user, course=self.course)
        self.enrollment.save()

        self.schedule = DummySchedule(enrollment=self.enrollment, start_date=datetime(2020, 1, 1))
        self.schedule.save()

        self.policy = DatePolicy(abs_date=datetime(2020, 1, 1))
        self.content_date = ContentDate(course_id=self.course.id, policy=self.policy)