Пример #1
0
    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),
        }
Пример #2
0
 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
Пример #3
0
    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)
Пример #4
0
    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,
        }
Пример #5
0
    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,
        }