from datetime import date from unittest import skip from django.test import TestCase from input.models import HonoraryCertificate, Project, Account, Literature class ModelTestCase(TestCase): def test_set_granted(self): '''test if the model function set_granted() works as intended''' obj = HonoraryCertificate.objects.create(realname='hurzel',email='hurzel@web.de') self.assertEqual(obj.granted,None) HonoraryCertificate.set_granted(obj.pk, True) obj2 = HonoraryCertificate.objects.get(pk=obj.pk) self.assertEqual(obj2.granted,True) def test_project_of_year(self): ''' test if the finance id is resettet ad start of year''' acc = Account.objects.create() acc.code='1234' acc.description='blabla' acc.save() startdate = date(2022,1,1) obj = Project.objects.create(account= acc, name='testproject', start=startdate) self.assertEqual(obj.project_of_year,1) obj2 = Project.objects.create(account= acc, name='testproject2', start=startdate) self.assertEqual(obj2.project_of_year,2) olddate = date(2021,12,31) obj4 = Project.objects.create(account= acc, name='testproject2', start=olddate) obj3 = Project.objects.create(account= acc, name='testproject2', start=startdate) self.assertEqual(obj3.project_of_year,3) @skip('Finance ID generation has been changed and this test has not been adapted accordingly.') def test_finance_id(self): ''' test if the finance counting is correct''' acc = Account.objects.create(code='1234', description='blabla') startdate = date(2022,1,1) obj = Project.objects.create(account= acc, name='testproject', start=startdate) self.assertEqual(obj.finance_id,"1234001") obj2 = Project.objects.create(account= acc, name='testproject2', start=startdate) self.assertEqual(obj2.finance_id,"1234002") olddate = date(2021,12,31) obj4 = Project.objects.create(account= acc, name='testproject2', start=olddate) obj3 = Project.objects.create(account= acc, name='testproject2', start=startdate) self.assertEqual(obj3.finance_id,"1234003") # def test_pid(self): # ''' test if the pid counting is correct ''' # acc = Account.objects.create(code='1234', description='blabla') # startdate = date(2022,1,1) # obj = Project.objects.create(account= acc, name='testproject', start=startdate) # self.assertEqual(obj.pid,"1234001") # self.assertEqual(obj.account.code,"1234") # # obj2 = Project.objects.create(account= acc, name='testproject2', start=startdate) # self.assertEqual(obj2.pid,"1234002") # # olddate = date(2021,12,31) # obj4 = Project.objects.create(account= acc, name='testproject2', start=olddate) # # obj3 = Project.objects.create(account= acc, name='testproject2', start=startdate) # self.assertEqual(obj3.pid,"1234004") def test_literature(self): obj = Literature.objects.create(cost='100', notes='jolo', selfbuy_give_data=False) self.assertEqual(obj.service_id,'Literature1')