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