forked from beba/foerderbarometer
added tests for sendmails command
This commit is contained in:
parent
b5a0fbde98
commit
f0c8ca71bb
|
|
@ -0,0 +1,57 @@
|
|||
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')
|
||||
Loading…
Reference in New Issue