add testcases
This commit is contained in:
@@ -0,0 +1,120 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
from .models import Member, Job, JobGroup
|
||||||
|
from .forms import MemberForm, JobForm, JobGroupForm
|
||||||
|
|
||||||
|
|
||||||
|
class MemberTestCase(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
member = Member()
|
||||||
|
member.firstname = "Peter"
|
||||||
|
member.surname = "Traunmüller"
|
||||||
|
member.nickname = "Pet"
|
||||||
|
member.mailaccount = "peter@fet.at"
|
||||||
|
member.role = "A"
|
||||||
|
member.save()
|
||||||
|
|
||||||
|
def test_member(self):
|
||||||
|
member = Member.objects.get(firstname="Peter")
|
||||||
|
self.assertEqual(member.__str__(), "Peter Traunmüller")
|
||||||
|
self.assertEqual(member.role, "A")
|
||||||
|
|
||||||
|
|
||||||
|
class MemberFormTestCase(TestCase):
|
||||||
|
def test_form(self):
|
||||||
|
image = SimpleUploadedFile(
|
||||||
|
name="peter.jpg",
|
||||||
|
content=open(
|
||||||
|
os.path.join(os.path.dirname(__file__), "tests/files/peter.jpg"), "rb"
|
||||||
|
).read(),
|
||||||
|
content_type="image/jpeg",
|
||||||
|
)
|
||||||
|
|
||||||
|
form = MemberForm(
|
||||||
|
data={
|
||||||
|
"firstname": "Peter",
|
||||||
|
"surname": "Traunmüller",
|
||||||
|
"nickname": "Pet",
|
||||||
|
"mailaccount": "peter@fet.at",
|
||||||
|
"role": "A",
|
||||||
|
},
|
||||||
|
files={"image": image},
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertTrue(form.is_valid())
|
||||||
|
form.save()
|
||||||
|
|
||||||
|
member = Member.objects.get(firstname="Peter")
|
||||||
|
self.assertEqual(member.__str__(), "Peter Traunmüller")
|
||||||
|
|
||||||
|
def test_form_error_no_image(self):
|
||||||
|
form = MemberForm(
|
||||||
|
data={
|
||||||
|
"firstname": "Peter",
|
||||||
|
"surname": "Traunmüller",
|
||||||
|
"nickname": "Pet",
|
||||||
|
"mailaccount": "peter@fet.at",
|
||||||
|
"role": "A",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertFalse(form.is_valid())
|
||||||
|
self.assertEqual(form.errors.as_data()['__all__'][0].message, "Es fehlt das Profilbild.")
|
||||||
|
|
||||||
|
|
||||||
|
class JobGroupFormTestCase(TestCase):
|
||||||
|
def test_form(self):
|
||||||
|
form = JobGroupForm(
|
||||||
|
data={
|
||||||
|
"name": "Studienkommission ET",
|
||||||
|
"shortterm": "Stuko ET",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertTrue(form.is_valid())
|
||||||
|
form.save()
|
||||||
|
|
||||||
|
job_group = JobGroup.objects.get(name="Studienkommission ET")
|
||||||
|
self.assertEqual(job_group.__str__(), "Studienkommission ET")
|
||||||
|
self.assertEqual(job_group.slug, "stuko-et")
|
||||||
|
|
||||||
|
def test_form_error_slug(self):
|
||||||
|
form = JobGroupForm(
|
||||||
|
data={
|
||||||
|
"name": "Studienkommission ET",
|
||||||
|
"shortterm": "Stuko ET",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertTrue(form.is_valid())
|
||||||
|
form.save()
|
||||||
|
|
||||||
|
job_group = JobGroup.objects.get(name="Studienkommission ET")
|
||||||
|
self.assertEqual(job_group.__str__(), "Studienkommission ET")
|
||||||
|
self.assertNotEqual(job_group.slug, "stuko et")
|
||||||
|
|
||||||
|
|
||||||
|
class JobFormTestCase(TestCase):
|
||||||
|
def test_form(self):
|
||||||
|
job_group = JobGroup()
|
||||||
|
job_group.name = "Studienkommission ET"
|
||||||
|
job_group.shortterm = "Stuko ET"
|
||||||
|
job_group.save()
|
||||||
|
|
||||||
|
form = JobForm(
|
||||||
|
data={
|
||||||
|
"name": "Studienkommission Master",
|
||||||
|
"shortterm": "Stuko Master",
|
||||||
|
"job_group": job_group,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertTrue(form.is_valid())
|
||||||
|
form.save()
|
||||||
|
|
||||||
|
job = Job.objects.get(name="Studienkommission Master")
|
||||||
|
self.assertEqual(job.__str__(), "Stuko Master")
|
||||||
|
self.assertEqual(job.slug, "stuko-master")
|
||||||
|
|||||||
BIN
fet2020/members/tests/files/peter.jpg
Normal file
BIN
fet2020/members/tests/files/peter.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.9 KiB |
Reference in New Issue
Block a user