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'])
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)
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)
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)
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)
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)
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)