| 
									
										
										
										
											2021-09-29 13:53:53 +00:00
										 |  |  | from django.test import TestCase, Client | 
					
						
							| 
									
										
										
										
											2020-11-23 13:38:47 +00:00
										 |  |  | from django.conf import settings | 
					
						
							| 
									
										
										
										
											2020-11-24 10:12:04 +00:00
										 |  |  | from django.contrib.auth.models import User | 
					
						
							| 
									
										
										
										
											2021-10-04 10:39:09 +00:00
										 |  |  | from datetime import date | 
					
						
							| 
									
										
										
										
											2020-09-21 12:27:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-06 14:15:58 +00:00
										 |  |  | from .models import HonoraryCertificate, Project, Account, Literature | 
					
						
							| 
									
										
										
										
											2020-11-23 13:08:01 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-24 10:12:04 +00:00
										 |  |  | class TestWithoutLogin(TestCase): | 
					
						
							| 
									
										
										
										
											2020-11-23 13:08:01 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-23 13:38:47 +00:00
										 |  |  |     def setUp(self): | 
					
						
							|  |  |  |         #this supress an unwanted warning about missing root dir | 
					
						
							|  |  |  |         settings.WHITENOISE_AUTOREFRESH = True | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-23 13:08:01 +00:00
										 |  |  |     def test_set_granted(self): | 
					
						
							| 
									
										
										
										
											2020-11-23 16:16:03 +00:00
										 |  |  |         '''test if the model function set_granted() works as intended''' | 
					
						
							| 
									
										
										
										
											2020-11-23 13:08:01 +00:00
										 |  |  |         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) | 
					
						
							| 
									
										
										
										
											2020-11-23 13:38:47 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_source_link(self): | 
					
						
							| 
									
										
										
										
											2020-11-23 16:16:03 +00:00
										 |  |  |         '''test if link to source code is included in main page''' | 
					
						
							| 
									
										
										
										
											2020-11-23 16:05:54 +00:00
										 |  |  |         response = self.client.get('', follow=True) | 
					
						
							|  |  |  |         #print (response.content) | 
					
						
							| 
									
										
										
										
											2020-11-23 13:38:47 +00:00
										 |  |  |         self.assertContains(response,'<a href="https://srcsrv.wikimedia.de/beba/foerderbarometer">Sourcecode</a>') | 
					
						
							| 
									
										
										
										
											2020-11-23 16:05:54 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_access_denied(self): | 
					
						
							| 
									
										
										
										
											2020-11-23 16:16:03 +00:00
										 |  |  |         '''test if /intern redirects to login page if not logged in''' | 
					
						
							| 
									
										
										
										
											2020-11-23 16:05:54 +00:00
										 |  |  |         response = self.client.get('/intern', follow=True) | 
					
						
							|  |  |  |         self.assertContains(response,'password') | 
					
						
							| 
									
										
										
										
											2020-11-24 10:12:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-29 13:53:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-24 10:12:04 +00:00
										 |  |  | class TestWithLogin(TestCase): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def setUp(self): | 
					
						
							|  |  |  |         User.objects.create_superuser('testuser', 'nomail@nomail.com', 'testpasswd') | 
					
						
							| 
									
										
										
										
											2021-09-29 13:53:53 +00:00
										 |  |  |         self.client = Client() | 
					
						
							|  |  |  |         self.user = User.objects.create_user('vladimir', 'vladimir@reiherzehe.com', 'reiherzehe') | 
					
						
							| 
									
										
										
										
											2020-11-24 10:12:04 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_access(self): | 
					
						
							|  |  |  |         '''test if /intern gives an answer''' | 
					
						
							|  |  |  |         self.assertEqual(self.client.login(username='testuser', password='testpasswd'), True) | 
					
						
							|  |  |  |         response = self.client.get('/intern') | 
					
						
							|  |  |  |         self.assertContains(response,'Übersicht aller Förderangebote') | 
					
						
							| 
									
										
										
										
											2021-09-29 13:53:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-04 10:39:09 +00:00
										 |  |  |     def test_project_of_year(self): | 
					
						
							|  |  |  |         ''' test if the finance id is resettet ad start of year''' | 
					
						
							| 
									
										
										
										
											2021-10-05 08:13:19 +00:00
										 |  |  |         acc = Account.objects.create() | 
					
						
							|  |  |  |         acc.code='1234' | 
					
						
							|  |  |  |         acc.description='blabla' | 
					
						
							|  |  |  |         acc.save() | 
					
						
							| 
									
										
										
										
											2021-10-04 10:39:09 +00:00
										 |  |  |         startdate = date(2022,1,1) | 
					
						
							|  |  |  |         obj = Project.objects.create(account= acc, name='testproject', start=startdate) | 
					
						
							|  |  |  |         self.assertEqual(obj.project_of_year,1) | 
					
						
							| 
									
										
										
										
											2021-10-04 10:57:13 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         obj2 = Project.objects.create(account= acc, name='testproject2', start=startdate) | 
					
						
							| 
									
										
										
										
											2021-10-04 12:14:01 +00:00
										 |  |  |         self.assertEqual(obj2.project_of_year,2) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-04 12:32:09 +00:00
										 |  |  |         olddate = date(2021,12,31) | 
					
						
							|  |  |  |         obj4 = Project.objects.create(account= acc, name='testproject2', start=olddate) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-04 12:14:01 +00:00
										 |  |  |         obj3 = Project.objects.create(account= acc, name='testproject2', start=startdate) | 
					
						
							|  |  |  |         self.assertEqual(obj3.project_of_year,3) | 
					
						
							| 
									
										
										
										
											2021-10-04 12:35:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_finance_id(self): | 
					
						
							|  |  |  |         ''' test if the finance id is resettet ad start of year''' | 
					
						
							|  |  |  |         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") | 
					
						
							| 
									
										
										
										
											2021-10-05 08:13:19 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_pid(self): | 
					
						
							|  |  |  |         ''' test if the finance id is resettet ad start of year''' | 
					
						
							|  |  |  |         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") | 
					
						
							| 
									
										
										
										
											2021-10-06 14:15:58 +00:00
										 |  |  |         self.assertEqual(obj.account.code,"1234") | 
					
						
							| 
									
										
										
										
											2021-10-05 08:13:19 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         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") | 
					
						
							| 
									
										
										
										
											2021-10-06 14:15:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_literature(self): | 
					
						
							|  |  |  |         obj = Literature.objects.create(cost='100', notes='jolo') | 
					
						
							|  |  |  |         self.assertEqual(obj.service_id,'Literature1') |