def get_expected_data(self, program_type, request): image_field = StdImageSerializerField() image_field._context = {'request': request} # pylint: disable=protected-access return { 'name': program_type.name, 'logo_image': image_field.to_representation(program_type.logo_image), }
def test_to_representation(self): request = make_request() program = ProgramFactory(banner_image=make_image_file('test.jpg')) field = StdImageSerializerField() field._context = {'request': request} # pylint: disable=protected-access expected = { size_key: { 'url': '{}{}'.format('http://testserver', getattr(program.banner_image, size_key).url), 'width': program.banner_image.field.variations[size_key]['width'], # pylint: disable=no-member 'height': program.banner_image.field.variations[size_key]['height'] # pylint: disable=no-member } for size_key in program.banner_image.field.variations} # pylint: disable=no-member assert field.to_representation(program.banner_image) == expected
def test_to_representation(self): request = make_request() # TODO Create test-only model to avoid unnecessary dependency on Program model. program = ProgramFactory(banner_image=make_image_file('test.jpg')) field = StdImageSerializerField() field._context = {'request': request} # pylint: disable=protected-access expected = { size_key: { 'url': '{}{}'.format('http://testserver', getattr(program.banner_image, size_key).url), 'width': program.banner_image.field.variations[size_key]['width'], 'height': program.banner_image.field.variations[size_key]['height'] } for size_key in program.banner_image.field.variations } self.assertDictEqual(field.to_representation(program.banner_image), expected)
def get_expected_data(self, program, request): image_field = StdImageSerializerField() image_field._context = {'request': request} # pylint: disable=protected-access return { 'uuid': str(program.uuid), 'title': program.title, 'subtitle': program.subtitle, 'type': program.type.name, 'status': program.status, 'marketing_slug': program.marketing_slug, 'marketing_url': program.marketing_url, 'banner_image': image_field.to_representation(program.banner_image), 'courses': MinimalProgramCourseSerializer(program.courses, many=True, context={ 'request': request, 'program': program, 'course_runs': list(program.course_runs), }).data, 'authoring_organizations': MinimalOrganizationSerializer(program.authoring_organizations, many=True).data, 'card_image_url': program.card_image_url, }
def get_expected_data(self, program, request): image_field = StdImageSerializerField() image_field._context = {'request': request} # pylint: disable=protected-access return { 'uuid': str(program.uuid), 'title': program.title, 'subtitle': program.subtitle, 'type': program.type.name, 'status': program.status, 'marketing_slug': program.marketing_slug, 'marketing_url': program.marketing_url, 'banner_image': image_field.to_representation(program.banner_image), 'courses': MinimalProgramCourseSerializer( program.courses, many=True, context={ 'request': request, 'program': program, 'course_runs': list(program.course_runs), }).data, 'authoring_organizations': MinimalOrganizationSerializer(program.authoring_organizations, many=True).data, 'card_image_url': program.card_image_url, }