Compare commits
3 Commits
d993387216
...
64c0c5f8e6
Author | SHA1 | Date | |
---|---|---|---|
64c0c5f8e6 | |||
18a597c726 | |||
|
baca596603 |
5
Pipfile
5
Pipfile
@ -19,6 +19,7 @@ easy-thumbnails = "*"
|
||||
image = "*"
|
||||
django-widget-tweaks = "*"
|
||||
django-taggit = "*"
|
||||
|
||||
# Commented out to not explicitly specify Python 3 subversion.
|
||||
# [requires]
|
||||
# python_version = "3.8"
|
||||
[requires]
|
||||
python_version = "3.7"
|
||||
|
@ -1,13 +1,11 @@
|
||||
from django.db import models as django_models
|
||||
from django.test import TestCase
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
class BaseData(TestCase):
|
||||
|
||||
def mock_user():
|
||||
explorer_list = User.objects.all()
|
||||
if len(explorer_list) <= 0:
|
||||
return User.objects.create_user(
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
User.objects.create_user(
|
||||
username='testpeter',
|
||||
password='Develop123'
|
||||
)
|
||||
else:
|
||||
return explorer_list[0]
|
||||
).save()
|
@ -1,14 +1,21 @@
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import FieldDoesNotExist
|
||||
from django.test import TestCase
|
||||
|
||||
# Creating a test user
|
||||
|
||||
class ModelTestCase:
|
||||
'''
|
||||
Base class for Lostplaces models
|
||||
'''
|
||||
model = None
|
||||
model_name = None
|
||||
|
||||
def setUp(self):
|
||||
self.object = self.model.objects.get(id=1)
|
||||
self.model_name = type(self.model).__name__
|
||||
|
||||
def _test_field(self, field_name, field_class, must_have={}, must_not_have={}):
|
||||
'''
|
||||
Tests if a field exists under the given name and
|
||||
|
@ -3,12 +3,15 @@ from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from lostplaces_app.models import Explorer
|
||||
from lostplaces_app.tests import mock_user
|
||||
|
||||
class ExplorerTestCase(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
mock_user()
|
||||
@classmethod
|
||||
def setUpTestData(self):
|
||||
User.objects.create_user(
|
||||
username='testpeter',
|
||||
password='Develop123'
|
||||
)
|
||||
|
||||
def test_epxlorer_creation(self):
|
||||
'''
|
||||
@ -43,7 +46,7 @@ class ExplorerTestCase(TestCase):
|
||||
Tests if the Explorer objects get's deleted when the User instance is deleted
|
||||
'''
|
||||
|
||||
user = User.objects.get(id=1)
|
||||
user = User.objects.get(username='testpeter')
|
||||
explorer_id = user.explorer.id
|
||||
user.delete()
|
||||
with self.assertRaises(models.ObjectDoesNotExist,
|
||||
|
@ -7,37 +7,50 @@ from django.test import TestCase
|
||||
from django.db import models
|
||||
from django.core.files import File
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from lostplaces_app.models import PlaceImage
|
||||
from lostplaces_app.models import PlaceImage, Place
|
||||
from lostplaces_app.tests.models import SubmittableTestCase
|
||||
from lostplaces_app.tests import mock_user
|
||||
from lostplaces_app.tests.models.test_place_model import mock_place
|
||||
from lostplaces_app.tests.models.test_place_model import PlaceTestCase
|
||||
|
||||
from easy_thumbnails.fields import ThumbnailerImageField
|
||||
|
||||
def mock_place_image():
|
||||
all_place_images = PlaceImage.objects.all()
|
||||
if len(all_place_images) <= 0:
|
||||
class TestPlaceImage(SubmittableTestCase, TestCase):
|
||||
model = PlaceImage
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
user = User.objects.create_user(
|
||||
username='testpeter',
|
||||
password='Develop123'
|
||||
)
|
||||
|
||||
place = Place.objects.create(
|
||||
name='Im a place',
|
||||
submitted_when=datetime.datetime.now(),
|
||||
submitted_by=User.objects.get(username='testpeter').explorer,
|
||||
location='Testtown',
|
||||
latitude=50.5,
|
||||
longitude=7.0,
|
||||
description='This is just a test, do not worry'
|
||||
)
|
||||
place.tags.add('I a tag', 'testlocation')
|
||||
place.save()
|
||||
|
||||
current_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
if not os.path.isfile(os.path.join(settings.MEDIA_ROOT, 'im_a_image_copy.jpeg')):
|
||||
shutil.copyfile(
|
||||
os.path.join(current_dir, 'im_a_image.jpeg'),
|
||||
os.path.join(settings.MEDIA_ROOT, 'im_a_image_copy.jpeg')
|
||||
)
|
||||
return PlaceImage.objects.create(
|
||||
|
||||
PlaceImage.objects.create(
|
||||
description='Im a description',
|
||||
filename=os.path.join(settings.MEDIA_ROOT, 'im_a_image_copy.jpeg'),
|
||||
place=mock_place(),
|
||||
place=place,
|
||||
submitted_when=datetime.datetime.now(),
|
||||
submitted_by=mock_user().explorer
|
||||
submitted_by=user.explorer
|
||||
)
|
||||
return all_place_images[0]
|
||||
|
||||
class TestPlaceImage(SubmittableTestCase, TestCase):
|
||||
model_name = 'PlaceImage'
|
||||
|
||||
def setUp(self):
|
||||
self.object = mock_place_image()
|
||||
|
||||
def test_description(self):
|
||||
self._test_field('description', models.TextField)
|
||||
|
@ -3,34 +3,38 @@ import datetime
|
||||
from django.test import TestCase
|
||||
from django.db import models
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from lostplaces_app.models import Place
|
||||
from lostplaces_app.tests import BaseData
|
||||
from lostplaces_app.tests.models import SubmittableTestCase
|
||||
from lostplaces_app.tests import mock_user
|
||||
|
||||
|
||||
from taggit.managers import TaggableManager
|
||||
|
||||
def mock_place():
|
||||
class PlaceTestCase(SubmittableTestCase, TestCase):
|
||||
model = Place
|
||||
related_name = 'places'
|
||||
nullable = True
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
user = User.objects.create_user(
|
||||
username='testpeter',
|
||||
password='Develop123'
|
||||
)
|
||||
|
||||
place = Place.objects.create(
|
||||
name='Im a place',
|
||||
submitted_when=datetime.datetime.now(),
|
||||
submitted_by=mock_user().explorer,
|
||||
submitted_by=user.explorer,
|
||||
location='Testtown',
|
||||
latitude=50.5,
|
||||
longitude=7.0,
|
||||
description='This is just a test, do not worry'
|
||||
)
|
||||
place.tags.add('I a tag', 'testlocation')
|
||||
|
||||
return place
|
||||
|
||||
class PlaceTestCase(SubmittableTestCase, TestCase):
|
||||
model_name = 'Place'
|
||||
related_name = 'places'
|
||||
nullable = True
|
||||
|
||||
def setUp(self):
|
||||
self.place = mock_place()
|
||||
self.object = self.place
|
||||
place.save()
|
||||
|
||||
def test_name_field(self):
|
||||
self._test_char_field(
|
||||
@ -73,9 +77,11 @@ class PlaceTestCase(SubmittableTestCase, TestCase):
|
||||
'''
|
||||
place_list = []
|
||||
for i in range(10):
|
||||
place = mock_place()
|
||||
place = Place.objects.get(id=1)
|
||||
place.id = None
|
||||
place.latitude = i+1
|
||||
place.longitude = i+10
|
||||
place.save()
|
||||
place_list.append(place)
|
||||
|
||||
avg_latlon = Place.average_latlon(place_list)
|
||||
@ -95,7 +101,7 @@ class PlaceTestCase(SubmittableTestCase, TestCase):
|
||||
Tests the average latitude/longitude calculation of a list
|
||||
of one place
|
||||
'''
|
||||
place = mock_place()
|
||||
place = Place.objects.get(id=1)
|
||||
avg_latlon = Place.average_latlon([place])
|
||||
self.assertEqual(avg_latlon[0], place.latitude,
|
||||
msg='%s:(one place) average latitude missmatch' % (
|
||||
|
@ -8,19 +8,16 @@ from lostplaces_app.models import Voucher
|
||||
from lostplaces_app.tests.models import ModelTestCase
|
||||
|
||||
|
||||
def mock_voucher():
|
||||
return Voucher.objects.create(
|
||||
class VoucheTestCase(ModelTestCase, TestCase):
|
||||
model = Voucher
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
Voucher.objects.create(
|
||||
code='ayDraJCCwfhcFiYmSR5GrcjcchDfcahv',
|
||||
expires_when=timezone.now() + datetime.timedelta(days=1)
|
||||
)
|
||||
|
||||
|
||||
class VoucherTestCase(ModelTestCase, TestCase):
|
||||
model_name = 'Voucher'
|
||||
|
||||
def setUp(self):
|
||||
self.object = mock_voucher()
|
||||
|
||||
def test_voucher_code(self):
|
||||
self._test_char_field(
|
||||
'code',
|
||||
|
@ -1,17 +1,36 @@
|
||||
import datetime
|
||||
|
||||
from django.test import TestCase, Client
|
||||
from django.urls import reverse_lazy
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from lostplaces_app.models import Place
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from lostplaces_app.tests.models.test_place_model import mock_place
|
||||
from lostplaces_app.tests import mock_user
|
||||
|
||||
class TestIsAuthenticated(TestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
user = User.objects.create_user(
|
||||
username='testpeter',
|
||||
password='Develop123'
|
||||
)
|
||||
|
||||
place = Place.objects.create(
|
||||
name='Im a place',
|
||||
submitted_when=datetime.datetime.now(),
|
||||
submitted_by=User.objects.get(username='testpeter').explorer,
|
||||
location='Testtown',
|
||||
latitude=50.5,
|
||||
longitude=7.0,
|
||||
description='This is just a test, do not worry'
|
||||
)
|
||||
place.tags.add('I a tag', 'testlocation')
|
||||
place.save()
|
||||
|
||||
def setUp(self):
|
||||
self. client = Client()
|
||||
mock_place()
|
||||
mock_user()
|
||||
|
||||
def test_logged_in(self):
|
||||
self.client.login(username='testpeter', password='Develop123')
|
||||
@ -36,10 +55,27 @@ class TestIsAuthenticated(TestCase):
|
||||
|
||||
class TestIsPlaceSubmitter(TestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
user = User.objects.create_user(
|
||||
username='testpeter',
|
||||
password='Develop123'
|
||||
)
|
||||
|
||||
place = Place.objects.create(
|
||||
name='Im a place',
|
||||
submitted_when=datetime.datetime.now(),
|
||||
submitted_by=user.explorer,
|
||||
location='Testtown',
|
||||
latitude=50.5,
|
||||
longitude=7.0,
|
||||
description='This is just a test, do not worry'
|
||||
)
|
||||
place.tags.add('I a tag', 'testlocation')
|
||||
place.save()
|
||||
|
||||
def setUp(self):
|
||||
self. client = Client()
|
||||
mock_place()
|
||||
mock_user()
|
||||
|
||||
def test_is_submitter(self):
|
||||
self.client.login(username='testpeter', password='Develop123')
|
||||
|
@ -1,17 +1,34 @@
|
||||
import datetime
|
||||
|
||||
from django.test import TestCase, Client
|
||||
from django.urls import reverse_lazy
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from lostplaces_app.models import Place
|
||||
|
||||
from lostplaces_app.tests.models.test_place_model import mock_place
|
||||
from lostplaces_app.tests import mock_user
|
||||
|
||||
class TestPlaceCreateView(TestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
user = User.objects.create_user(
|
||||
username='testpeter',
|
||||
password='Develop123'
|
||||
)
|
||||
|
||||
place = Place.objects.create(
|
||||
name='Im a place',
|
||||
submitted_when=datetime.datetime.now(),
|
||||
submitted_by=user.explorer,
|
||||
location='Testtown',
|
||||
latitude=50.5,
|
||||
longitude=7.0,
|
||||
description='This is just a test, do not worry'
|
||||
)
|
||||
place.tags.add('I a tag', 'testlocation')
|
||||
place.save()
|
||||
|
||||
def setUp(self):
|
||||
self. client = Client()
|
||||
mock_place()
|
||||
mock_user()
|
||||
|
||||
def test_url_logged_in(self):
|
||||
self.client.login(username='testpeter', password='Develop123')
|
||||
|
Loading…
Reference in New Issue
Block a user