Compare commits

..

No commits in common. "64c0c5f8e6114834414eeffd2ed44c424a0ec89d" and "d993387216a37920e4f0f8366836100c61a247f7" have entirely different histories.

10 changed files with 75 additions and 153 deletions

View File

@ -19,7 +19,6 @@ easy-thumbnails = "*"
image = "*"
django-widget-tweaks = "*"
django-taggit = "*"
# Commented out to not explicitly specify Python 3 subversion.
[requires]
python_version = "3.7"
# [requires]
# python_version = "3.8"

View File

@ -1,11 +1,13 @@
from django.test import TestCase
from django.db import models as django_models
from django.contrib.auth.models import User
class BaseData(TestCase):
@classmethod
def setUpTestData(cls):
User.objects.create_user(
def mock_user():
explorer_list = User.objects.all()
if len(explorer_list) <= 0:
return User.objects.create_user(
username='testpeter',
password='Develop123'
).save()
)
else:
return explorer_list[0]

View File

@ -1,21 +1,14 @@
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

View File

@ -3,15 +3,12 @@ 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):
@classmethod
def setUpTestData(self):
User.objects.create_user(
username='testpeter',
password='Develop123'
)
def setUp(self):
mock_user()
def test_epxlorer_creation(self):
'''
@ -46,7 +43,7 @@ class ExplorerTestCase(TestCase):
Tests if the Explorer objects get's deleted when the User instance is deleted
'''
user = User.objects.get(username='testpeter')
user = User.objects.get(id=1)
explorer_id = user.explorer.id
user.delete()
with self.assertRaises(models.ObjectDoesNotExist,

View File

@ -7,50 +7,37 @@ 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, Place
from lostplaces_app.models import PlaceImage
from lostplaces_app.tests.models import SubmittableTestCase
from lostplaces_app.tests.models.test_place_model import PlaceTestCase
from lostplaces_app.tests import mock_user
from lostplaces_app.tests.models.test_place_model import mock_place
from easy_thumbnails.fields import ThumbnailerImageField
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()
def mock_place_image():
all_place_images = PlaceImage.objects.all()
if len(all_place_images) <= 0:
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')
)
PlaceImage.objects.create(
return PlaceImage.objects.create(
description='Im a description',
filename=os.path.join(settings.MEDIA_ROOT, 'im_a_image_copy.jpeg'),
place=place,
place=mock_place(),
submitted_when=datetime.datetime.now(),
submitted_by=user.explorer
submitted_by=mock_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)

View File

@ -3,38 +3,34 @@ 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
class PlaceTestCase(SubmittableTestCase, TestCase):
model = Place
related_name = 'places'
nullable = True
@classmethod
def setUpTestData(cls):
user = User.objects.create_user(
username='testpeter',
password='Develop123'
)
def mock_place():
place = Place.objects.create(
name='Im a place',
submitted_when=datetime.datetime.now(),
submitted_by=user.explorer,
submitted_by=mock_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()
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
def test_name_field(self):
self._test_char_field(
@ -77,11 +73,9 @@ class PlaceTestCase(SubmittableTestCase, TestCase):
'''
place_list = []
for i in range(10):
place = Place.objects.get(id=1)
place.id = None
place = mock_place()
place.latitude = i+1
place.longitude = i+10
place.save()
place_list.append(place)
avg_latlon = Place.average_latlon(place_list)
@ -101,7 +95,7 @@ class PlaceTestCase(SubmittableTestCase, TestCase):
Tests the average latitude/longitude calculation of a list
of one place
'''
place = Place.objects.get(id=1)
place = mock_place()
avg_latlon = Place.average_latlon([place])
self.assertEqual(avg_latlon[0], place.latitude,
msg='%s:(one place) average latitude missmatch' % (

View File

@ -8,16 +8,19 @@ from lostplaces_app.models import Voucher
from lostplaces_app.tests.models import ModelTestCase
class VoucheTestCase(ModelTestCase, TestCase):
model = Voucher
@classmethod
def setUpTestData(cls):
Voucher.objects.create(
def mock_voucher():
return 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',

View File

@ -1,36 +1,17 @@
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')
@ -55,27 +36,10 @@ 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')

View File

@ -1,34 +1,17 @@
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')