22
33from app import current_app as app , db
44from app .factories .event_invoice import EventInvoiceFactory
5+ from app .factories .attendee import AttendeeFactory
56from app .models .event_invoice import EventInvoice
6- from app .api .helpers .scheduled_jobs import event_invoices_mark_due
7+ from app .models .ticket_holder import TicketHolder
8+ from app .api .helpers .scheduled_jobs import event_invoices_mark_due , delete_ticket_holders_no_order_id
79
810from tests .all .integration .utils import OpenEventTestCase
911
@@ -29,3 +31,43 @@ def test_event_invoices_mark_due(self):
2931
3032 self .assertEqual (status_new , "due" )
3133 self .assertNotEqual (status_paid , "due" )
34+
35+ def test_delete_ticket_holders_with_no_order_id (self ):
36+ """Method to test deleting ticket holders with no order id after expiry time"""
37+
38+ with app .test_request_context ():
39+ attendee = AttendeeFactory ()
40+ db .session .commit ()
41+ attendee_id = attendee .id
42+ delete_ticket_holders_no_order_id ()
43+ ticket_holder = TicketHolder .query .get (attendee_id )
44+ self .assertIs (ticket_holder , None )
45+
46+ def test_delete_ticket_holder_created_currently (self ):
47+ """Method to test not deleting ticket holders with no order id but created within expiry time"""
48+
49+ with app .test_request_context ():
50+ attendee = AttendeeFactory (created_at = datetime .datetime .utcnow (),
51+ modified_at = datetime .datetime .utcnow ())
52+
53+ db .session .commit ()
54+ attendee_id = attendee .id
55+ delete_ticket_holders_no_order_id ()
56+ ticket_holder = TicketHolder .query .get (attendee_id )
57+ self .assertIsNot (ticket_holder , None )
58+
59+ def test_delete_ticket_holder_with_valid_order_id (self ):
60+ """Method to test not deleting ticket holders with order id after expiry time"""
61+
62+ with app .test_request_context ():
63+ attendee = AttendeeFactory (order_id = 1 , ticket_id = 1 ,
64+ created_at = datetime .datetime .utcnow () -
65+ datetime .timedelta (minutes = 15 ),
66+ modified_at = datetime .datetime .utcnow () -
67+ datetime .timedelta (minutes = 15 ))
68+
69+ db .session .commit ()
70+ attendee_id = attendee .id
71+ delete_ticket_holders_no_order_id ()
72+ ticket_holder = TicketHolder .query .get (attendee_id )
73+ self .assertIsNot (ticket_holder , None )
0 commit comments