20
20
from wlscreens.models import *
22
23
class TestCategoryAdding(DjangoTest):
23
25
def test_addCategory_exceptCorrectResult(self):
24
c = Category.objects.create(name="A new Revision")
25
self.assertEqual(c.pk,1)
26
self.assertEqual(c.slug, "a-new-revision")
26
c = Category.objects.create(name='A new Revision')
27
self.assertEqual(c.pk, 1)
28
self.assertEqual(c.slug, 'a-new-revision')
28
31
class TestCategory(DjangoTest):
29
urls = "wlscreens.test_urls"
32
urls = 'wlscreens.test_urls'
30
34
def test_addCategoryWhichExists_exceptFail(self):
31
Category.objects.create(name="A new Revision").save()
32
self.assertRaises(IntegrityError,
33
Category.objects.create, name="A NEW Revision")
35
Category.objects.create(name='A new Revision').save()
36
self.assertRaises(IntegrityError,
37
Category.objects.create, name='A NEW Revision')
35
39
def test_CategoryRepr_exceptCorrectResult(self):
36
c = Category.objects.create(name="A new Revision")
37
self.assertEqual(repr(c), "<Category: A new Revision>" )
40
c = Category.objects.create(name='A new Revision')
41
self.assertEqual(repr(c), '<Category: A new Revision>')
39
43
def test_UrlGeneration_exceptCorrectResult(self):
40
c = Category.objects.create(name="build 13")
41
self.assertEqual(c.get_absolute_url(), "/wlscreens/build-13/" )
44
c = Category.objects.create(name='build 13')
45
self.assertEqual(c.get_absolute_url(), '/wlscreens/build-13/')
43
48
class _ScreenshotBase(DjangoTest):
44
urls = "wlscreens.test_urls"
49
urls = 'wlscreens.test_urls'
47
def _make_random_image( size ):
48
img = Image.new( "RGB", size )
52
def _make_random_image(size):
53
img = Image.new('RGB', size)
52
return SimpleUploadedFile("test.png",png.read())
57
return SimpleUploadedFile('test.png', png.read())
55
self.c = Category.objects.create(name="build 13")
56
self.c2= Category.objects.create(name="build 14")
58
self.img = _ScreenshotBase._make_random_image((640,480))
60
self.c = Category.objects.create(name='build 13')
61
self.c2 = Category.objects.create(name='build 14')
63
self.img = _ScreenshotBase._make_random_image((640, 480))
60
66
class TestScreenshotAdding(_ScreenshotBase):
61
68
def test_AddImage_ExpectCorrectResult(self):
62
i = Screenshot.objects.create(name="First Test",
64
screenshot = self.img,
65
comment = "This rockz!")
66
self.assertEqual(i.pk,1)
67
self.assertEqual(i.thumbnail.width,THUMBNAIL_SIZE[0])
69
i = Screenshot.objects.create(name='First Test',
72
comment='This rockz!')
73
self.assertEqual(i.pk, 1)
74
self.assertEqual(i.thumbnail.width, THUMBNAIL_SIZE[0])
69
77
class TestScreenshot(_ScreenshotBase):
71
80
_ScreenshotBase.setUp(self)
73
img = _ScreenshotBase._make_random_image((6,4))
75
self.i = Screenshot.objects.create(name="First Test",
78
comment = "This rockz!")
82
img = _ScreenshotBase._make_random_image((6, 4))
84
self.i = Screenshot.objects.create(name='First Test',
87
comment='This rockz!')
80
89
def testAdd_SameNameSameCat_ExceptRaise(self):
81
self.assertRaises( IntegrityError,
82
Screenshot.objects.create, name="First Test",
84
screenshot = self.img,
85
comment = "This is nice!")
90
self.assertRaises(IntegrityError,
91
Screenshot.objects.create, name='First Test',
94
comment='This is nice!')
86
96
def testAdd_SameNameOtherCat_ExceptCorrectResult(self):
87
k = Screenshot.objects.create( name="First Test",
89
screenshot = self.img,
90
comment = "This is nice!")
97
k = Screenshot.objects.create(name='First Test',
100
comment='This is nice!')
92
102
def test_Repr_ExceptCorrectResult(self):
93
self.assertEqual(repr(self.i),"<Screenshot: build 13:First Test>")
103
self.assertEqual(repr(self.i), '<Screenshot: build 13:First Test>')
95
105
def test_CategoryScreenshots_ExceptCorrectResult(self):
96
106
c = self.c.screenshots.all()
97
107
c2 = self.c2.screenshots.all()
98
self.assertTrue( self.i in c )
99
self.assertEqual( c.count(), 1 )
100
self.assertEqual( c2.count(), 0 )
108
self.assertTrue(self.i in c)
109
self.assertEqual(c.count(), 1)
110
self.assertEqual(c2.count(), 0)