Exemplo n.º 1
0
    def test_get_completed_programs(self, mock_get_completed_courses):
        """
        Verify that completed programs are found, using the cache when possible.
        """
        course_id = 'org/course/run'
        data = [
            factories.Program(organizations=[factories.Organization()],
                              course_codes=[
                                  factories.CourseCode(run_modes=[
                                      factories.RunMode(course_key=course_id),
                                  ]),
                              ]),
        ]
        self._mock_programs_api(data)

        mock_get_completed_courses.return_value = [{
            'course_id': course_id,
            'mode': MODES.verified
        }]

        for _ in range(2):
            result = tasks.get_completed_programs(self.user)
            self.assertEqual(result, [data[0]['id']])

        # Verify that only one request to programs was made (i.e., the cache was hit).
        self._assert_num_requests(1)
Exemplo n.º 2
0
    def test_get_completed_programs(self, mock_get_completed_courses):
        """
        Verify that completed programs are found, using the cache when possible.
        """
        course_id = 'org/course/run'
        data = [
            factories.Program(
                organizations=[factories.Organization()],
                course_codes=[
                    factories.CourseCode(run_modes=[
                        factories.RunMode(course_key=course_id),
                    ]),
                ]
            ),
        ]
        self._mock_programs_api(data)

        mock_get_completed_courses.return_value = [
            {'course_id': course_id, 'mode': MODES.verified}
        ]

        for _ in range(2):
            result = tasks.get_completed_programs(self.user)
            self.assertEqual(result, [data[0]['id']])

        # Verify that only one request to programs was made (i.e., the cache was hit).
        self._assert_num_requests(1)
Exemplo n.º 3
0
 def test_get_completed_programs(self):
     """
     Ensure the correct API call gets made
     """
     test_client = EdxRestApiClient('http://test-server', jwt='test-token')
     httpretty.register_uri(
         httpretty.POST,
         'http://test-server/programs/complete/',
         body='{"program_ids": [1, 2, 3]}',
         content_type='application/json',
     )
     payload = [
         {
             'course_id': 'test-course-1',
             'mode': 'verified'
         },
         {
             'course_id': 'test-course-2',
             'mode': 'prof-ed'
         },
     ]
     result = tasks.get_completed_programs(test_client, payload)
     self.assertEqual(json.loads(httpretty.last_request().body),
                      {'completed_courses': payload})
     self.assertEqual(result, [1, 2, 3])
Exemplo n.º 4
0
 def test_get_completed_programs(self):
     """
     Ensure the correct API call gets made
     """
     test_client = EdxRestApiClient('http://test-server', jwt='test-token')
     httpretty.register_uri(
         httpretty.POST,
         'http://test-server/programs/complete/',
         body='{"program_ids": [1, 2, 3]}',
         content_type='application/json',
     )
     payload = [
         {'course_id': 'test-course-1', 'mode': 'verified'},
         {'course_id': 'test-course-2', 'mode': 'prof-ed'},
     ]
     result = tasks.get_completed_programs(test_client, payload)
     self.assertEqual(json.loads(httpretty.last_request().body), {'completed_courses': payload})
     self.assertEqual(result, [1, 2, 3])
Exemplo n.º 5
0
    def test_get_completed_programs(self, mock_get_completed_courses):
        """
        Verify that completed programs are found, using the cache when possible.
        """
        data = [
            factories.Program(),
        ]
        self._mock_programs_api(data)

        munged_program = munge_catalog_program(data[0])
        course_codes = munged_program['course_codes']

        mock_get_completed_courses.return_value = [{
            'course_id':
            run_mode['course_key'],
            'mode':
            run_mode['mode_slug']
        } for run_mode in course_codes[0]['run_modes']]
        for _ in range(2):
            result = tasks.get_completed_programs(self.user)
            self.assertEqual(result[0], munged_program['id'])

        # Verify that only one request to the catalog was made (i.e., the cache was hit).
        self._assert_num_requests(1)