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 *
16
class TestWLMapsModels_Map(DjangoTest):
17
urls = 'wlmaps.test_urls'
20
self.user = User.objects.create(username="testuser")
24
nm = Map.objects.create(
30
descr = "a good map to play with",
31
minimap = "/wlmaps/minimaps/Map.png",
32
world_name = "blackland",
35
uploader_comment = "Rockdamap"
39
nm = Map.objects.create(
40
name = "Map with a long slug",
41
author = "Author Paul",
45
descr = "a good map to play with",
46
minimap = "/wlmaps/minimaps/Map with long slug.png",
47
world_name = "blackland",
50
uploader_comment = "Rockdamap"
55
def test_validMapInsertion_expectCorrectResult(self):
56
# This really tests the setUp functionality. let's
57
# hope that this worked out
58
self.assertEqual( Map.objects.get(pk=1), self.map)
60
def test_MapNameGeneration_expectCorrectResult(self):
61
self.assertEqual( repr(self.map), "<Map: Map by Author>")
63
def test_Permalink_expectCorrectResult(self):
64
self.assertEqual( self.map.get_absolute_url(), "/wlmaps/map/")
65
self.assertEqual( self.map1.get_absolute_url(), "/wlmaps/map-with-a-long-slug/")
67
def test_Rating_ExceptCorrectResult(self):
68
self.map.rating.add(score=10, user=self.user,
69
ip_address="127.0.0.1")
70
self.assertEqual(self.map.rating.votes,1)
71
self.assertEqual(self.map.rating.score,10)
73
def test_DoubleAddingMapWithSameSlug_ExceptRaise(self):
74
self.assertRaises( IntegrityError, Map.objects.create, ** {
75
"name": "Map with-a-long slug",
80
"descr": "a good map to play with",
81
"minimap": "/wlmaps/minimaps/Map.png",
82
"world_name": "blackland",
83
"uploader": self.user,
84
"uploader_comment": "Rockdamap"
88
def test_DoubleAddingMapWithSameName_ExceptRaise(self):
89
self.assertRaises( IntegrityError, Map.objects.create, **{
91
"slug": "something-other",
96
"descr": "a good map to play with",
97
"minimap": "/wlmaps/minimaps/Map.png",
98
"world_name": "blackland",
99
"uploader": self.user,
100
"uploader_comment": "Rockdamap"