From 6f8cde2a9b763c16a80a21cb3beda5b314fd501f Mon Sep 17 00:00:00 2001 From: patrick Date: Sun, 7 Mar 2021 23:53:01 +0000 Subject: [PATCH] add testcases --- fet2020/members/tests.py | 120 ++++++++++++++++++++++++++ fet2020/members/tests/files/peter.jpg | Bin 0 -> 7109 bytes 2 files changed, 120 insertions(+) create mode 100644 fet2020/members/tests/files/peter.jpg diff --git a/fet2020/members/tests.py b/fet2020/members/tests.py index e69de29b..831978bf 100644 --- a/fet2020/members/tests.py +++ b/fet2020/members/tests.py @@ -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") diff --git a/fet2020/members/tests/files/peter.jpg b/fet2020/members/tests/files/peter.jpg new file mode 100644 index 0000000000000000000000000000000000000000..68b9b0e008b6019ea84808658e4b3ddb540e5466 GIT binary patch literal 7109 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 OPEzykmL-oa=l%zpC$#SX literal 0 HcmV?d00001