forked from beba/foerderbarometer
				
			
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
import datetime
 | 
						|
 | 
						|
from django.core.management import call_command
 | 
						|
from django.test import TestCase
 | 
						|
from django.utils.timezone import localdate
 | 
						|
 | 
						|
from input.models import Project, Account, Email, Library, HonoraryCertificate
 | 
						|
 | 
						|
 | 
						|
class ManagementCommandTestCase(TestCase):
 | 
						|
 | 
						|
    @classmethod
 | 
						|
    def setUpTestData(cls):
 | 
						|
        cls.account = Account.objects.create(code='test')
 | 
						|
 | 
						|
    def test_sendmails(self):
 | 
						|
        today = localdate(None)
 | 
						|
        start = today - datetime.timedelta(days=2)
 | 
						|
        end = today - datetime.timedelta(days=1)
 | 
						|
        granted = today - datetime.timedelta(days=15)
 | 
						|
 | 
						|
        def create_project(name, **kwargs):
 | 
						|
            kwargs.setdefault('account', self.account)
 | 
						|
            kwargs.setdefault('start', start)
 | 
						|
            kwargs.setdefault('end', end)
 | 
						|
 | 
						|
            return Project.objects.create(name=name, **kwargs)
 | 
						|
 | 
						|
        create_project('Test end_of_projects_reached')
 | 
						|
        create_project('Test end_of_projects_approved', status='END', mail_state='INF')
 | 
						|
        create_project('Test notHappened_of_projects_approved', status='NOT', mail_state='INF')
 | 
						|
 | 
						|
        Email.objects.create(
 | 
						|
            domain='SOURCE',
 | 
						|
            address='cosmocode',
 | 
						|
            adult='TRUE',
 | 
						|
            granted=True,
 | 
						|
            granted_date=granted,
 | 
						|
        )
 | 
						|
 | 
						|
        Library.objects.create(
 | 
						|
            type='BIB',
 | 
						|
            library='Test',
 | 
						|
            duration='1 Jahr',
 | 
						|
            cost=100,
 | 
						|
            granted=True,
 | 
						|
            granted_date=granted,
 | 
						|
        )
 | 
						|
 | 
						|
        HonoraryCertificate.objects.create(
 | 
						|
            request_url='https://example.com',
 | 
						|
            granted=True,
 | 
						|
            granted_date=granted,
 | 
						|
            project=create_project('Test surveymails_to_hon'),
 | 
						|
        )
 | 
						|
 | 
						|
        call_command('sendmails')
 |