Skip to content

Commit

Permalink
Add tests for form field validator
Browse files Browse the repository at this point in the history
  • Loading branch information
hvelarde committed Sep 27, 2017
1 parent 417c795 commit 09440e8
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 0 deletions.
Binary file added sc/social/like/tests/images/julia_set_ice.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sc/social/like/tests/images/julia_set_ice.tiff
Binary file not shown.
56 changes: 56 additions & 0 deletions sc/social/like/tests/test_fallback_image.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
from sc.social.like.testing import INTEGRATION_TESTING
from sc.social.like.tests.utils import get_file_b64encoded
from sc.social.like.utils import validate_og_fallback_image
from zope.interface import Invalid

import unittest


class OGFallbackImageValidatorTestCase(unittest.TestCase):

layer = INTEGRATION_TESTING

def test_validate_og_fallback_image_no_image(self):
self.assertTrue(validate_og_fallback_image(None))

def test_validate_og_fallback_image_valid(self):
image = get_file_b64encoded('imgtest_1024x768.png')
self.assertTrue(validate_og_fallback_image(image))

def test_validate_og_fallback_image_invalid_mime_type(self):
image = get_file_b64encoded('julia_set_ice.tiff')
with self.assertRaises(Invalid):
validate_og_fallback_image(image)

# FIXME: we need to find out how to easily resize the image
@unittest.expectedFailure
def test_validate_og_fallback_image_invalid_size(self):
image = get_file_b64encoded('imgtest_1024x768.png')
with self.assertRaises(Invalid):
validate_og_fallback_image(image)

def test_validate_og_fallback_image_invalid_dimensions(self):
image = get_file_b64encoded('julia_set_ice.png')
with self.assertRaises(Invalid):
validate_og_fallback_image(image)

def test_validate_og_fallback_image_invalid_aspect_ratio(self):
image = get_file_b64encoded('imgtest_768x768.jpg')
with self.assertRaises(Invalid):
validate_og_fallback_image(image)


def load_tests(loader, tests, pattern):
from sc.social.like.testing import HAS_DEXTERITY

test_cases = []
if HAS_DEXTERITY:
# load validation tests on Dexterity-based content types only
test_cases.append(OGFallbackImageValidatorTestCase)

suite = unittest.TestSuite()
for test_class in test_cases:
tests = loader.loadTestsFromTestCase(test_class)
suite.addTests(tests)
return suite

0 comments on commit 09440e8

Please sign in to comment.