Exemplo n.º 1
0
    def test_image_block_renditions_off(self):
        page = PageFactory()
        image = PHEImageFactory()
        body_content_string = '[{"type": "page_heading_shelf", "value": {"heading": "This is the heading",' \
                              ' "shelf_id": "1", "background_image": %d, "image_right": {' \
                              ' "image": %d, "meta_use_desktop_renditions": "false", ' \
                              ' "meta_use_mobile_renditions": "false"}},' \
                              ' "id": "a2d5e2e8-ae9d-46ef-92e6-27745a85df8c"}]' % (image.id, image.id)

        body_field = [
            field for field in page._meta.fields if field.name == 'body'
        ][0]
        page.body = body_field.to_python(body_content_string)

        page.save_revision()
        latest_revision_as_page = page.get_latest_revision_as_page()
        serialized_page = OneYou2PageSerializer(
            instance=latest_revision_as_page)
        image_block = serialized_page.data['body'][0]['value']['image_right']
        self.assertEqual(type(image_block['renditions']['desktop']), str)
        self.assertNotEqual(len(image_block['renditions']['desktop']), 0)
        self.assertIn('original', image_block['renditions']['desktop'])
        self.assertEqual(type(image_block['renditions']['mobile']), str)
        self.assertNotEqual(len(image_block['renditions']['mobile']), 0)
        self.assertIn('original', image_block['renditions']['mobile'])
Exemplo n.º 2
0
    def test_image_block_renditions_on(self):
        page = PageFactory()
        image = PHEImageFactory()
        body_content_string = '[{"type": "page_heading_shelf", "value": {"heading": "This is the heading",' \
                              ' "shelf_id": "1", "background_image": %d, "image_right": {' \
                              ' "image": %d, "meta_use_desktop_renditions": "true", ' \
                              ' "meta_use_mobile_renditions": "true"}},' \
                              ' "id": "a2d5e2e8-ae9d-46ef-92e6-27745a85df8c"}]' % (image.id, image.id)

        body_field = [
            field for field in page._meta.fields if field.name == 'body'
        ][0]
        page.body = body_field.to_python(body_content_string)

        page.save_revision()
        latest_revision_as_page = page.get_latest_revision_as_page()
        serialized_page = OneYou2PageSerializer(
            instance=latest_revision_as_page)
        self.assertEqual(type(serialized_page.data), ReturnDict)
        self.assertEqual(type(serialized_page.data['body']), list)
        self.assertEqual(type(serialized_page.data['body'][0]), dict)
        image_block = serialized_page.data['body'][0]['value']['image_right']
        self.assertEqual(type(image_block), OrderedDict)
        self.assertEqual(sorted(image_block.keys()),
                         sorted(['layout', 'title', 'renditions']))
        self.assertEqual(image_block['title'], image.title)
        self.assertEqual(sorted(image_block['renditions'].keys()),
                         sorted(['mobile', 'desktop']))
        self.assertEqual(type(image_block['renditions']['desktop']), str)
        self.assertNotEqual(len(image_block['renditions']['desktop']), 0)
        self.assertIn("fill-1440x240", image_block['renditions']['desktop'])
        self.assertEqual(type(image_block['renditions']['mobile']), str)
        self.assertNotEqual(len(image_block['renditions']['mobile']), 0)
        self.assertIn("fill-375x143", image_block['renditions']['mobile'])