1
#!/usr/bin/env python -tt
5
from django.test import TestCase as DjangoTest, Client
6
from django.contrib.auth.models import User
7
from django.db import IntegrityError
9
from wlmaps.models import *
18
class TestWLMapsModels_Map(DjangoTest):
19
urls = 'wlmaps.test_urls'
22
self.user = User.objects.create(username='testuser')
26
nm = Map.objects.create(
32
descr='a good map to play with',
33
minimap='/wlmaps/minimaps/Map.png',
34
world_name='blackland',
37
uploader_comment='Rockdamap'
41
nm = Map.objects.create(
42
name='Map with a long slug',
47
descr='a good map to play with',
48
minimap='/wlmaps/minimaps/Map with long slug.png',
49
world_name='blackland',
52
uploader_comment='Rockdamap'
57
def test_validMapInsertion_expectCorrectResult(self):
58
# This really tests the setUp functionality. let's
59
# hope that this worked out
60
self.assertEqual(Map.objects.get(pk=1), self.map)
62
def test_MapNameGeneration_expectCorrectResult(self):
63
self.assertEqual(repr(self.map), '<Map: Map by Author>')
65
def test_Permalink_expectCorrectResult(self):
66
self.assertEqual(self.map.get_absolute_url(), '/wlmaps/map/')
67
self.assertEqual(self.map1.get_absolute_url(),
68
'/wlmaps/map-with-a-long-slug/')
70
def test_Rating_ExceptCorrectResult(self):
71
self.map.rating.add(score=10, user=self.user,
72
ip_address='127.0.0.1')
73
self.assertEqual(self.map.rating.votes, 1)
74
self.assertEqual(self.map.rating.score, 10)
76
def test_DoubleAddingMapWithSameSlug_ExceptRaise(self):
77
self.assertRaises(IntegrityError, Map.objects.create, ** {
78
'name': 'Map with-a-long slug',
83
'descr': 'a good map to play with',
84
'minimap': '/wlmaps/minimaps/Map.png',
85
'world_name': 'blackland',
86
'uploader': self.user,
87
'uploader_comment': 'Rockdamap'
91
def test_DoubleAddingMapWithSameName_ExceptRaise(self):
92
self.assertRaises(IntegrityError, Map.objects.create, **{
94
'slug': 'something-other',
99
'descr': 'a good map to play with',
100
'minimap': '/wlmaps/minimaps/Map.png',
101
'world_name': 'blackland',
102
'uploader': self.user,
103
'uploader_comment': 'Rockdamap'