Skip to content

Commit

Permalink
fix: Fixed cron job and added tests - EVent Invoice Due Marking
Browse files Browse the repository at this point in the history
  • Loading branch information
mrsaicharan1 committed Oct 6, 2019
1 parent e35f8f1 commit e794ded
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 2 deletions.
4 changes: 2 additions & 2 deletions app/api/helpers/scheduled_jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,9 @@ def expire_pending_tickets():
def event_invoices_mark_due():
from app import current_app as app
with app.app_context():
db.session.query(EventInvoice).\
db.session.query(EventInvoice).join(Event).\
filter(EventInvoice.status == 'upcoming',
EventInvoice.event.ends_at >= datetime.datetime.now(),
Event.ends_at >= datetime.datetime.now(),
(EventInvoice.created_at + datetime.timedelta(days=30) <=
datetime.datetime.now())).\
update({'status': 'due'})
Expand Down
36 changes: 36 additions & 0 deletions tests/all/integration/api/helpers/test_scheduled_jobs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import unittest
from datetime import timedelta, datetime, timezone

from app.settings import get_settings
from app import current_app as app, db
from app.factories.event_invoice import EventInvoiceFactory
from app.api.helpers.db import save_to_db
from app.factories.event import EventFactoryBasic
from app.api.helpers.scheduled_jobs import event_invoices_mark_due

from tests.all.integration.setup_database import Setup
from tests.all.integration.utils import OpenEventTestCase


class TestScheduledJobs(OpenEventTestCase):
def setUp(self):
self.app = Setup.create_app()

def test_event_invoices_mark_due(self):
"""Method to test marking of event invoices as due"""

with app.test_request_context():
event_invoice_obj = EventInvoiceFactory()
event_obj = EventFactoryBasic()
event_obj.ends_at = datetime.date(2019, 7, 20)
event_invoice_obj.event = event_obj
save_to_db(event_obj)
save_to_db(event_invoice_obj)
event_invoices_mark_due()
status = db.session.query(EventInvoice).\
filter(EventInvoice.id == event_invoice_obj.id).first().status
self.assertEqual(status, "due")


if __name__ == '__main__':
unittest.main()

0 comments on commit e794ded

Please sign in to comment.