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')
|