~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to wlscreens/tests/test_models.py

  • Committer: franku
  • Date: 2016-12-13 18:28:51 UTC
  • mto: This revision was merged to the branch mainline in revision 443.
  • Revision ID: somal@arcor.de-20161213182851-bo5ebf8pdvw5beua
run the script

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 
20
20
from wlscreens.models import *
21
21
 
 
22
 
22
23
class TestCategoryAdding(DjangoTest):
 
24
 
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')
 
29
 
27
30
 
28
31
class TestCategory(DjangoTest):
29
 
    urls = "wlscreens.test_urls"
 
32
    urls = 'wlscreens.test_urls'
 
33
 
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")
34
 
    
 
35
        Category.objects.create(name='A new Revision').save()
 
36
        self.assertRaises(IntegrityError,
 
37
                          Category.objects.create, name='A NEW Revision')
 
38
 
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>')
38
42
 
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/')
 
46
 
42
47
 
43
48
class _ScreenshotBase(DjangoTest):
44
 
    urls = "wlscreens.test_urls"
45
 
   
 
49
    urls = 'wlscreens.test_urls'
 
50
 
46
51
    @staticmethod
47
 
    def _make_random_image( size ):
48
 
        img = Image.new( "RGB", size )
 
52
    def _make_random_image(size):
 
53
        img = Image.new('RGB', size)
49
54
        png = StringIO()
50
 
        img.save(png,"png")
 
55
        img.save(png, 'png')
51
56
        png.seek(0)
52
 
        return SimpleUploadedFile("test.png",png.read())
53
 
   
 
57
        return SimpleUploadedFile('test.png', png.read())
 
58
 
54
59
    def setUp(self):
55
 
        self.c = Category.objects.create(name="build 13")
56
 
        self.c2= Category.objects.create(name="build 14")
57
 
    
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')
 
62
 
 
63
        self.img = _ScreenshotBase._make_random_image((640, 480))
 
64
 
59
65
 
60
66
class TestScreenshotAdding(_ScreenshotBase):
 
67
 
61
68
    def test_AddImage_ExpectCorrectResult(self):
62
 
        i = Screenshot.objects.create(name="First Test", 
63
 
            category = self.c,
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',
 
70
                                      category=self.c,
 
71
                                      screenshot=self.img,
 
72
                                      comment='This rockz!')
 
73
        self.assertEqual(i.pk, 1)
 
74
        self.assertEqual(i.thumbnail.width, THUMBNAIL_SIZE[0])
 
75
 
68
76
 
69
77
class TestScreenshot(_ScreenshotBase):
 
78
 
70
79
    def setUp(self):
71
80
        _ScreenshotBase.setUp(self)
72
 
        
73
 
        img =  _ScreenshotBase._make_random_image((6,4))
74
 
 
75
 
        self.i = Screenshot.objects.create(name="First Test", 
76
 
            category = self.c,
77
 
            screenshot = img,
78
 
            comment = "This rockz!")
 
81
 
 
82
        img = _ScreenshotBase._make_random_image((6, 4))
 
83
 
 
84
        self.i = Screenshot.objects.create(name='First Test',
 
85
                                           category=self.c,
 
86
                                           screenshot=img,
 
87
                                           comment='This rockz!')
79
88
 
80
89
    def testAdd_SameNameSameCat_ExceptRaise(self):
81
 
        self.assertRaises( IntegrityError, 
82
 
              Screenshot.objects.create, name="First Test",
83
 
              category = self.c,
84
 
              screenshot = self.img,
85
 
              comment = "This is nice!")
 
90
        self.assertRaises(IntegrityError,
 
91
                          Screenshot.objects.create, name='First Test',
 
92
                          category=self.c,
 
93
                          screenshot=self.img,
 
94
                          comment='This is nice!')
 
95
 
86
96
    def testAdd_SameNameOtherCat_ExceptCorrectResult(self):
87
 
        k = Screenshot.objects.create( name="First Test",
88
 
              category = self.c2,
89
 
              screenshot = self.img,
90
 
              comment = "This is nice!")
 
97
        k = Screenshot.objects.create(name='First Test',
 
98
                                      category=self.c2,
 
99
                                      screenshot=self.img,
 
100
                                      comment='This is nice!')
91
101
 
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>')
94
104
 
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 )
101
 
    
 
108
        self.assertTrue(self.i in c)
 
109
        self.assertEqual(c.count(), 1)
 
110
        self.assertEqual(c2.count(), 0)