Example #1
0
    def create_program(self):
        """DRY helper for creating test program data."""
        course_run = CourseRunFactory(key=self.course_id)
        course = CourseFactory(course_runs=[course_run])

        program_type = ProgramTypeFactory()
        return ProgramFactory(courses=[course], type=program_type['name'])
Example #2
0
    def test_get_programs_with_type_logo(self, _mock_get_edx_api_data):
        programs = []
        program_types = []
        programs_with_type_logo = []

        for index in range(3):
            # Creating the Programs and their corresponding program types.
            type_name = 'type_name_{postfix}'.format(postfix=index)
            program = ProgramFactory(type=type_name)
            program_type = ProgramTypeFactory(name=type_name)

            programs.append(program)
            program_types.append(program_type)

            program_with_type_logo = copy.deepcopy(program)
            program_with_type_logo['logo_image'] = program_type['logo_image']
            programs_with_type_logo.append(program_with_type_logo)

        with mock.patch('openedx.core.djangoapps.catalog.utils.get_programs'
                        ) as patched_get_programs:
            with mock.patch(
                    'openedx.core.djangoapps.catalog.utils.get_program_types'
            ) as patched_get_program_types:
                patched_get_programs.return_value = programs
                patched_get_program_types.return_value = program_types

                actual = get_programs_with_type_logo()
                self.assertEqual(actual, programs_with_type_logo)
Example #3
0
    def test_get_programs_with_type_include_hidden(self, include_hidden,
                                                   mock_get_program_types,
                                                   mock_get_programs):
        """Verify get_programs_with_type returns the expected list of programs with include_hidden parameter."""
        programs_with_program_type = []
        programs = [ProgramFactory(hidden=False), ProgramFactory(hidden=True)]
        program_types = []

        for program in programs:
            if program['hidden'] and not include_hidden:
                continue

            program_type = ProgramTypeFactory(name=program['type'])
            program_types.append(program_type)

            program_with_type = copy.deepcopy(program)
            program_with_type['type'] = program_type
            programs_with_program_type.append(program_with_type)

        mock_get_programs.return_value = programs
        mock_get_program_types.return_value = program_types

        actual = get_programs_with_type(self.site,
                                        include_hidden=include_hidden)
        self.assertEqual(actual, programs_with_program_type)
Example #4
0
    def test_get_program_types(self, mock_get_edx_api_data):
        program_types = [ProgramTypeFactory() for __ in range(3)]
        mock_get_edx_api_data.return_value = program_types

        # Catalog integration is disabled.
        data = get_program_types()
        self.assertEqual(data, [])

        catalog_integration = self.create_catalog_integration()
        UserFactory(username=catalog_integration.service_username)
        data = get_program_types()
        self.assertEqual(data, program_types)
Example #5
0
    def test_get_program_types(self, mock_get_edx_api_data):
        """Verify get_program_types returns the expected list of program types."""
        program_types = ProgramTypeFactory.create_batch(3)
        mock_get_edx_api_data.return_value = program_types

        # Catalog integration is disabled.
        data = get_program_types()
        self.assertEqual(data, [])

        catalog_integration = self.create_catalog_integration()
        UserFactory(username=catalog_integration.service_username)
        data = get_program_types()
        self.assertEqual(data, program_types)

        program = program_types[0]
        data = get_program_types(name=program['name'])
        self.assertEqual(data, program)
Example #6
0
    def test_get_program_types(self, mock_get_edx_api_data):
        """Verify get_program_types returns the expected list of program types."""
        program_types = ProgramTypeFactory.create_batch(3)
        mock_get_edx_api_data.return_value = program_types

        # Catalog integration is disabled.
        data = get_program_types()
        self.assertEqual(data, [])

        catalog_integration = self.create_catalog_integration()
        UserFactory(username=catalog_integration.service_username)
        data = get_program_types()
        self.assertEqual(data, program_types)

        program = program_types[0]
        data = get_program_types(name=program['name'])
        self.assertEqual(data, program)
Example #7
0
    def test_get_programs_with_type(self, mock_get_program_types, mock_get_programs):
        """Verify get_programs_with_type returns the expected list of programs."""
        programs_with_program_type = []
        programs = ProgramFactory.create_batch(2)
        program_types = []

        for program in programs:
            program_type = ProgramTypeFactory(name=program['type'])
            program_types.append(program_type)

            program_with_type = copy.deepcopy(program)
            program_with_type['type'] = program_type
            programs_with_program_type.append(program_with_type)

        mock_get_programs.return_value = programs
        mock_get_program_types.return_value = program_types

        actual = get_programs_with_type(self.site)
        self.assertEqual(actual, programs_with_program_type)