def test_session_create(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_form = ObjectMother.get_custom_form(event.id) save_to_db(custom_form, "Custom form saved") url = url_for('event_sessions.create_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Create Session" in rv.data, msg=rv.data)
def test_session_delete(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event Saved") session = ObjectMother.get_session() save_to_db(session, "Session Saved") url = url_for('event_sessions.delete_session', event_id=1, session_id=session.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("deleted" in rv.data, msg=rv.data)
def test_api_tracks(self): with app.test_request_context(): self.assertEqual(self.app.get('/api/v1/event/1').status_code, 404) event = ObjectMother.get_event() track = ObjectMother.get_track() save_to_db(event, "Event saved") save_to_db(track, "Track saved") self.assertEqual(self.app.get('/api/v1/event/1').status_code, 200) self.assertEqual(self.app.get('/api/v1/event/1/tracks').status_code, 200)
def basic_setup(super_admin): event = ObjectMother.get_event() save_to_db(event, "Event saved") session = ObjectMother.get_session(event.id) save_to_db(session, "Session saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id speaker.user_id = super_admin.id save_to_db(speaker, "Speaker saved") return event
def test_session_view(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event) session = ObjectMother.get_session() session.event_id = event.id save_to_db(session, "Session Saved") url = url_for('event_sessions.session_display_view', event_id=event.id, session_id=session.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Short abstract" in rv.data, msg=rv.data)
def test_sessions_list(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") session = ObjectMother.get_session(event.id) save_to_db(session, "Session Saved") url = url_for('event_sessions.index_view', event_id=event.id, session_id=session.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Sessions" in rv.data, msg=rv.data) self.assertTrue("test" in rv.data, msg=rv.data)
def test_wrong_form_config(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker saved") url = url_for('event_speakers.edit_view', event_id=event.id, speaker_id=speaker.id) rv = self.app.get(url, follow_redirects=True) self.assertFalse("incorrectly configured" in rv.data, msg=rv.data)
def test_speaker_delete(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Session Saved") url = url_for('event_speakers.delete', event_id=event.id, speaker_id=speaker.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("deleted" in rv.data, msg=rv.data)
def test_add_session_to_db(self): with app.test_request_context(): # create event event = ObjectMother.get_event() save_to_db(event, 'Event saved') # test session = ObjectMother.get_session() save_to_db(session, "Session saved") self.assertEqual(session.id, 1) self.assertEqual(session.event_id, 1)
def test_session_create_post(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_form = ObjectMother.get_custom_form(event.id) save_to_db(custom_form, "Custom form saved") data = POST_SESSION_DATA data.update(POST_SPEAKER_DATA) url = url_for('event_sessions.create_view', event_id=event.id) rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue(data['title'] in rv.data, msg=rv.data)
def test_speaker_view(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker saved") custom_forms = ObjectMother.get_custom_form() custom_forms.event_id = event.id save_to_db(custom_forms, "Custom forms Saved") url = url_for('event_speakers.edit_view', event_id=event.id, speaker_id=speaker.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("name" in rv.data, msg=rv.data)
def test_session_edit_post(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_form = ObjectMother.get_custom_form(event.id) save_to_db(custom_form, "Custom form saved") session = ObjectMother.get_session(event.id) save_to_db(session, "Session saved") data = POST_SESSION_DATA data['title'] = 'TestSession2' url = url_for('event_sessions.edit_view', event_id=event.id, session_id=session.id) rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue("TestSession2" in rv.data, msg=rv.data)
def test_role_delete(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") user = ObjectMother.get_user() save_to_db(user, "New user saved") populate() role = Role.query.filter_by(name='coorganizer').first() uer = UsersEventsRoles(user, event, role) save_to_db(uer, "UER Saved") rv = self.app.get(url_for('event_roles.delete_view', uer_id=uer.id, event_id=event.id), follow_redirects=True) uer = UsersEventsRoles.query.get(uer.id) self.assertTrue(uer is None, msg=rv.data)
def test_event_view(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('events.details_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("event1" in rv.data, msg=rv.data) microlocation = ObjectMother.get_microlocation(event_id=event.id) track = ObjectMother.get_track(event_id=event.id) cfs = ObjectMother.get_cfs(event_id=event.id) save_to_db(track, "Track saved") save_to_db(microlocation, "Microlocation saved") save_to_db(cfs, "Call for speakers saved") rv = self.app.get(url, follow_redirects=True) self.assertTrue("event1" in rv.data, msg=rv.data)
def test_speakers_list(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('event_speakers.index_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Speakers" in rv.data, msg=rv.data)
def test_wrong_form_config(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('event_sessions.create_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertFalse("incorrectly configured" in rv.data, msg=rv.data)
def test_event_delete(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('events.trash_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Your event has been deleted" in rv.data, msg=rv.data)
def test_scheduler_publish(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") rv = self.app.get(url_for('event_scheduler.publish', event_id=event.id), follow_redirects=True) event = DataGetter.get_event(event.id) self.assertTrue(event.schedule_published_on is not None, msg=rv.data)
def test_event_copy(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('events.copy_event', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Copy of event1" in rv.data, msg=rv.data)
def get_event_ticket(): set_settings(paypal_mode='sandbox', paypal_sandbox_username=environ.get('PAYPAL_SANDBOX_USERNAME', 'SQPTVKtS8YvItGQuvHFvwve4'), paypal_sandbox_password=environ.get('PAYPAL_SANDBOX_PASSWORD', 'SQPTVKtS8YvItGQuvHFvwve4'), paypal_sandbox_signature=environ.get('PAYPAL_SANDBOX_SIGNATURE', 'SQPTVKtS8YvItGQuvHFvwve4'), secret='super secret key') event = ObjectMother.get_event() event.name = 'Super Event' event.state = 'Published' event.paypal_email = '*****@*****.**' save_to_db(event, "Event Saved") stripe_auth = StripeAuthorization( stripe_secret_key=environ.get('STRIPE_SECRET_KEY', 'sk_test_SQPTVKtS8YvItGQuvHFvwve4'), stripe_refresh_token=environ.get('STRIPE_REFRESH_TOKEN', 'sk_test_SQPTVKtS8YvItGQuvHFvwve4'), stripe_publishable_key=environ.get('STRIPE_PUBLISHABLE_KEY', 'pk_test_e2jsd4RNUlYesCUb2KJ9nkCm'), stripe_user_id=environ.get('STRIPE_USER_ID', '1445522255'), stripe_email=environ.get('STRIPE_EMAIL', '*****@*****.**'), event_id=event.id ) save_to_db(stripe_auth, "StripeAuthorization Saved") ticket = Ticket(name='Test Ticket', type='paid', sales_start=datetime.now() - timedelta(days=5), sales_end=datetime.now() + timedelta(days=5), description="SomeTicket", event=event, price=50) save_to_db(ticket, "Ticket Saved") save_to_db(Module(ticket_include=True, payment_include=True, donation_include=True)) return event, ticket
def test_unpublished_event_view_attempt(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event Saved") rv = self.app.get(url_for('event_detail.display_event_detail_home', identifier=event.identifier), follow_redirects=True) self.assertEqual(rv.status_code, 404)
def test_event_publish(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('events.publish_event', event_id=event.id) rv = self.app.get(url, follow_redirects=True) event = DataGetter.get_event(event.id) self.assertEqual("Published", event.state, msg=event.state)
def test_multiple_microlocation_for_same_event(self): microlocation1 = ObjectMother.get_microlocation() microlocation2 = Microlocation(name='test2', latitude=1.0, longitude=1.0, event_id=1) self.assertEqual(microlocation1.event_id, 1) self.assertEqual(microlocation2.event_id, 1)
def test_role_create_post(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") user = ObjectMother.get_user() save_to_db(user, "New user saved") populate() data = { 'user_email': user.email, 'user_role': 'coorganizer' } rv = self.app.post(url_for('event_roles.create_view', event_id=event.id), follow_redirects=True, data=data) # Check if user has been sent a Role Invite role = Role.query.filter_by(name='coorganizer').first() ri = RoleInvite.query.filter_by(email=user.email, event=event, role=role).first() self.assertTrue(ri is not None, msg=rv.data)
def get_event_invoice(): set_settings(paypal_mode='sandbox', paypal_sandbox_username=environ.get('PAYPAL_SANDBOX_USERNAME', 'SQPTVKtS8YvItGQuvHFvwve4'), paypal_sandbox_password=environ.get('PAYPAL_SANDBOX_PASSWORD', 'SQPTVKtS8YvItGQuvHFvwve4'), paypal_sandbox_signature=environ.get('PAYPAL_SANDBOX_SIGNATURE', 'SQPTVKtS8YvItGQuvHFvwve4'), stripe_secret_key='sk_test_SQPTVKtS8YvItGQuvHFvwve4', stripe_publishable_key='pk_test_e2jsd4RNUlYesCUb2KJ9nkCm', secret='super secret key') event = ObjectMother.get_event() event.name = 'Super Event' event.state = 'Published' user = ObjectMother.get_user() save_to_db(user) save_to_db(event, "Event Saved") new_invoice = EventInvoice(amount=100, event_id=event.id, user_id=user.id) save_to_db(new_invoice, "Ticket Saved") return event, new_invoice
def test_published_event_view(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' save_to_db(event, "Event Saved") rv = self.app.get(url_for('event_detail.display_event_detail_home', identifier=event.identifier), follow_redirects=True) self.assertTrue("Open Event" in rv.data, msg=rv.data)
def test_role_update(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") user = ObjectMother.get_user() save_to_db(user, "New user saved") populate() role = Role.query.filter_by(name='coorganizer').first() uer = UsersEventsRoles(user, event, role) save_to_db(uer, "UER Saved") data = { 'user_email': user.email, 'user_role': 'track_organizer' } rv = self.app.post(url_for('event_roles.edit_view', uer_id=uer.id, event_id=event.id), data=data, follow_redirects=True) uer = DataGetter.get_user_event_roles_by_role_name(event.id, 'track_organizer').first() self.assertTrue(uer is not None, msg=rv.data)
def test_published_event_view_coc(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' event.code_of_conduct = 'Test Code of Conduct' save_to_db(event, "Event Saved") rv = self.app.get(url_for('event_detail.display_event_coc', identifier=event.identifier), follow_redirects=True) self.assertTrue("Code of Conduct" in rv.data, msg=rv.data)
def test_published_event_sessions_view(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' save_to_db(event, "Event Saved") track = ObjectMother.get_track() track.event_id = event.id save_to_db(track, "Track Saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker Saved") session = ObjectMother.get_session() session.event_id = event.id session.speakers = [speaker] save_to_db(speaker, "Session Saved") rv = self.app.get(url_for('event_detail.display_event_sessions', identifier=event.identifier), follow_redirects=True) self.assertTrue("Sessions" in rv.data, msg=rv.data)
def get_event(): event = ObjectMother.get_event() event.name = 'Super Event' event.start_time = datetime.now() + timedelta(days=5) event.end_time = event.start_time + timedelta(days=5) event.location_name = 'India' event.searchable_location_name = 'India' event.state = 'Published' return event
def test_published_event_schedule_view(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' event.schedule_published_on = datetime.now() save_to_db(event, "Event Saved") track = ObjectMother.get_track() track.event_id = event.id save_to_db(track, "Track Saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker Saved") microlocation = ObjectMother.get_microlocation() save_to_db(microlocation, "Microlocation Saved") session = ObjectMother.get_session() session.event_id = event.id session.state = 'accepted' session.microlocation_id = microlocation.id session.speakers = [speaker] save_to_db(session, "Session Saved") rv = self.app.get(url_for('event_detail.display_event_schedule', identifier=event.identifier), follow_redirects=True) self.assertTrue("Schedule" in rv.data, msg=rv.data)
def test_add_session_type_to_db(self): """Checks the one to many relationship between event and session_types and the many to one relationship between session and session_types""" self.app = Setup.create_app() with app.test_request_context(): event = ObjectMother.get_event() session1 = ObjectMother.get_session() session_type1 = SessionType(name='Type1', length='30', event_id='1') session_type2 = SessionType(name='Type2', length='30', event_id='1') session2 = Session(title='test2', long_abstract='dsadsd', start_time=datetime(2003, 8, 4, 12, 30, 45), end_time=datetime(2003, 8, 4, 12, 30, 45), session_type=session_type1) save_to_db(event, "Event Saved") save_to_db(session1, "Session1 Saved") save_to_db(session2, "Session2 Saved") save_to_db(session_type1, "SessionType1 Saved") save_to_db(session_type2, "SessionType2 Saved") self.assertEqual(session_type1.event_id, 1) self.assertEqual(session_type2.event_id, 1) self.assertEqual(session2.session_type_id, 1) self.assertEqual(session1.session_type_id, None)
def test_published_event_unpublished_schedule_view_attempt(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' save_to_db(event, "Event Saved") track = ObjectMother.get_track() track.event_id = event.id save_to_db(track, "Track Saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker Saved") microlocation = ObjectMother.get_microlocation() save_to_db(microlocation, "Microlocation Saved") session = ObjectMother.get_session() session.event_id = event.id session.microlocation_id = microlocation.id session.speakers = [speaker] session.state = 'accepted' save_to_db(session, "Session Saved") rv = self.app.get(url_for('event_detail.display_event_schedule', identifier=event.identifier), follow_redirects=True) self.assertEqual(rv.status_code, 404)
def test_db_sessions(self): with app.test_request_context(): # create event event = ObjectMother.get_event() db.session.add(event) db.session.commit() # test for i in range(1, 10000): session = ObjectMother.get_session() session.name = 'Session' + str(i) db.session.add(session) db.session.commit() url = url_for('sadmin_sessions.display_my_sessions_view') time.clock() self.app.get(url, follow_redirects=True) with open("output_session.txt", "w") as text_file: for query in get_debug_queries(): if query.duration >= ProductionConfig.DATABASE_QUERY_TIMEOUT: text_file.write( "SLOW QUERY: %s\nParameters: %s\nDuration: %fs\nContext: %s\n" % (query.statement, query.parameters, query.duration, query.context)) text_file.write("\n")
def get_event_invoice(): set_settings( paypal_mode='sandbox', paypal_sandbox_username=environ.get('PAYPAL_SANDBOX_USERNAME', 'SQPTVKtS8YvItGQuvHFvwve4'), paypal_sandbox_password=environ.get('PAYPAL_SANDBOX_PASSWORD', 'SQPTVKtS8YvItGQuvHFvwve4'), paypal_sandbox_signature=environ.get('PAYPAL_SANDBOX_SIGNATURE', 'SQPTVKtS8YvItGQuvHFvwve4'), stripe_secret_key='sk_test_SQPTVKtS8YvItGQuvHFvwve4', stripe_publishable_key='pk_test_e2jsd4RNUlYesCUb2KJ9nkCm', secret='super secret key') event = ObjectMother.get_event() event.name = 'Super Event' event.state = 'Published' user = ObjectMother.get_user() save_to_db(user) event.creator_id = user.id save_to_db(event, "Event Saved") new_invoice = EventInvoice(amount=100, event_id=event.id, user_id=event.creator_id) save_to_db(new_invoice, "Ticket Saved") return event, new_invoice
def test_restore_session_from_trash(self): with app.test_request_context(): event = ObjectMother.get_event() session = Session(title='Session 1', long_abstract='dsad', start_time=datetime(2003, 8, 4, 12, 30, 45), end_time=datetime(2003, 8, 4, 12, 30, 45), event_id=1, state='pending', in_trash=True) save_to_db(event, "Event saved") save_to_db(session, "Session saved") restore_session(1) self.assertEqual(session.in_trash, False)
def test_add_social_link_to_db(self): """Checks the one to many relationship between event and social_links """ self.app = Setup.create_app() with app.test_request_context(): event = ObjectMother.get_event() social_link1 = SocialLink(name='Link1', link='some_random_link_1', event_id='1') social_link2 = SocialLink(name='Link2', link='some_random_link_2', event_id='1') save_to_db(event, "Event Saved") save_to_db(social_link1, "SocialLink1 Saved") save_to_db(social_link2, "SocialLink2 Saved") self.assertEqual(social_link1.event_id, 1) self.assertEqual(social_link2.event_id, 1)
def test_db_users(self): with app.test_request_context(): start = time.clock() for i in range(1, 10000): user = ObjectMother.get_user() user.email = 'User' + str(i) db.session.add(user) db.session.commit() url = url_for('sadmin_users.index_view') self.app.get(url, follow_redirects=True) print time.clock() - start for query in get_debug_queries(): if query.duration >= ProductionConfig.DATABASE_QUERY_TIMEOUT: app.logger.warning( "SLOW QUERY: %s\nParameters: %s\nDuration: %fs\nContext: %s\n" % (query.statement, query.parameters, query.duration, query.context))
def test_add_session_to_trash(self): with app.test_request_context(): event = ObjectMother.get_event() session = Session(title='Session 1', long_abstract='dsad', start_time=datetime(2003, 8, 4, 12, 30, 45), end_time=datetime(2003, 8, 4, 12, 30, 45), event_id=1, state='pending', in_trash=False) save_to_db(event, "Event saved") save_to_db(session, "Session saved") trash_session(1) url = url_for('event_sessions.index_view', event_id=1) rv = self.app.get(url) self.assertFalse('Session 1' in rv.data) self.assertEqual(session.in_trash, True)
def create_discount_code(self): event = ObjectMother.get_event() save_to_db(event) data = { "code": "ABC_123", "value": "100", "value_type": "amount", "min_quantity": "1", "max_quantity": "2", "tickets_number": "30", "tickets[]": ["1", "2"] } response = self.app.post(url_for( 'event_ticket_sales.discount_codes_create', event_id=event.id), data=data, follow_redirects=True) self.assertTrue(str(data['code']) in response.data, msg=response.data) return event, TicketingManager.get_discount_code(event.id, data['code'])
def test_db_users(self): with app.test_request_context(): for i in range(1, 10000): user = ObjectMother.get_user() user.email = 'User' + str(i) db.session.add(user) db.session.commit() url = url_for('sadmin_users.index_view') self.app.get(url, follow_redirects=True) with open("output_users.txt", "w") as text_file: for query in get_debug_queries(): if query.duration >= ProductionConfig.DATABASE_QUERY_TIMEOUT: text_file.write( "SLOW QUERY: %s\nParameters: %s\nDuration: %fs\nContext: %s\n" % (query.statement, query.parameters, query.duration, query.context)) text_file.write("\n")
def test_db_events(self): with app.test_request_context(): for i in range(1, 10000): event = ObjectMother.get_event() event.name = 'Event' + str(i) db.session.add(event) db.session.commit() url = url_for('sadmin_events.index_view') start = time.clock() self.app.get(url, follow_redirects=True) print time.clock() - start with open("output_events.txt", "w") as text_file: for query in get_debug_queries(): if query.duration >= ProductionConfig.DATABASE_QUERY_TIMEOUT: text_file.write( "SLOW QUERY: %s\nParameters: %s\nDuration: %fs\nContext: %s\n" % (query.statement, query.parameters, query.duration, query.context)) text_file.write("\n")
def get_event_ticket(): set_settings( paypal_mode='sandbox', paypal_sandbox_username=environ.get('PAYPAL_SANDBOX_USERNAME', 'SQPTVKtS8YvItGQuvHFvwve4'), paypal_sandbox_password=environ.get('PAYPAL_SANDBOX_PASSWORD', 'SQPTVKtS8YvItGQuvHFvwve4'), paypal_sandbox_signature=environ.get('PAYPAL_SANDBOX_SIGNATURE', 'SQPTVKtS8YvItGQuvHFvwve4'), secret='super secret key') event = ObjectMother.get_event() event.name = 'Super Event' event.state = 'Published' event.paypal_email = '*****@*****.**' save_to_db(event, "Event Saved") stripe_auth = StripeAuthorization( stripe_secret_key=environ.get('STRIPE_SECRET_KEY', 'sk_test_SQPTVKtS8YvItGQuvHFvwve4'), stripe_refresh_token=environ.get('STRIPE_REFRESH_TOKEN', 'sk_test_SQPTVKtS8YvItGQuvHFvwve4'), stripe_publishable_key=environ.get('STRIPE_PUBLISHABLE_KEY', 'pk_test_e2jsd4RNUlYesCUb2KJ9nkCm'), stripe_user_id=environ.get('STRIPE_USER_ID', '1445522255'), stripe_email=environ.get('STRIPE_EMAIL', '*****@*****.**'), event_id=event.id) save_to_db(stripe_auth, "StripeAuthorization Saved") ticket = Ticket(name='Test Ticket', type='paid', sales_start=datetime.now() - timedelta(days=5), sales_end=datetime.now() + timedelta(days=5), description="SomeTicket", event=event, price=50) save_to_db(ticket, "Ticket Saved") save_to_db( Module(ticket_include=True, payment_include=True, donation_include=True)) return event, ticket
def test_my_session_detail(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") speaker = Speaker(name="name", email="*****@*****.**", organisation="FOSSASIA", event_id=event.id, user=self.super_admin, country="India") save_to_db(speaker, "Speaker saved") session = Session(title='test session', long_abstract='dsad', start_time=datetime(2003, 8, 4, 12, 30, 45), end_time=datetime(2003, 8, 4, 12, 30, 45), event_id=event.id, speakers=[speaker], state='pending') save_to_db(session, "Session saved") rv = self.app.get(url_for('my_sessions.display_session_view', session_id=session.id), follow_redirects=True) self.assertTrue("test session" in rv.data, msg=rv.data)
def test_get_event_roles_for_user(self): with app.test_request_context(): user = ObjectMother.get_user() save_to_db(user) self.assertTrue(DataGetter.get_event_roles_for_user(user.id))
def test_admin_messages_edit(self): with app.test_request_context(): setting = ObjectMother.get_message_settings() save_to_db(setting, "Message Settings Updated") data = DataGetter.get_message_setting_by_action("Next Event") self.assertEqual(1, data.mail_status, msg=data.mail_status)
def test_admin_users(self): with app.test_request_context(): user = ObjectMother.get_user() save_to_db(user, "User saved") rv = self.app.get(url_for('sadmin_users.index_view'), follow_redirects=True) self.assertTrue('*****@*****.**' in rv.data, msg=rv.data)
def test_add_session_to_db(self): session = ObjectMother.get_session() with app.test_request_context(): save_to_db(session, "Session saved") self.assertEqual(session.id, 1) self.assertEqual(session.event_id, 1)
def test_admin_admin(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") rv = self.app.get(url_for('sadmin_events.index_view'), follow_redirects=True) self.assertTrue('event1' in rv.data, msg=rv.data)
def test_event_page(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event) resp = self.app.get('/sitemaps/events/1.xml.gz') self.assertIn('/' + str(event.identifier) + '/', resp.data)
def test_add_event_to_db(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") self.assertEqual(event.id, event.id)
def test_events_create_post(self): with app.test_request_context(): custom_forms = ObjectMother.get_custom_form() url = url_for('events.create_view') data = fix_attribute_names(POST_EVENT_DATA.copy(), EVENT_POST) del data['copyright'] del data['call_for_papers'] data['pay_by_paypal'] = 'paypalYes' data['name'] = 'TestEvent 1' data['payment_country'] = 'United States' data['payment_currency'] = 'USD United States Dollars $' data['paypal_email'] = '*****@*****.**' data['sponsors_state'] = 'on' data['sponsors[name]'] = ['Sponsor 1', 'Sponsor 2'] data['sponsors[type]'] = ['Gold', 'Silver'] data['sponsors[url]'] = ["", ""] data['sponsors[description]'] = ["", ""] data['sponsors[logo]'] = ["", ""] data['sponsors[level]'] = ["", ""] data['start_date'] = '07/04/2016' data['start_time'] = '19:00' data['end_date'] = '07/04/2016' data['end_time'] = '22:00' data['has_session_speakers'] = 'no' data['custom_form[name]'] = ['session_form', 'speaker_form'] data['custom_form[value]'] = [ custom_forms.session_form, custom_forms.speaker_form ] # Add Module to include Ticketing System save_to_db(Module(True, True, True)) # Add Tickets data['tickets[name]'] = [ 'Free Ticket', 'Paid Ticket', 'Donation Ticket' ] data['tickets[type]'] = ['free', 'paid', 'donation'] data['tickets[price]'] = ['', 999, ''] data['tickets[quantity]'] = [512, 512, 512] data['tickets[description]'] = ['', '', ''] data['tickets[sales_start_date]'] = [ '07/04/2016', '07/04/2016', '07/04/2016' ] data['tickets[sales_start_time]'] = ['19:00', '19:00', '19:00'] data['tickets[sales_end_date]'] = [ '07/04/2016', '07/04/2016', '07/04/2016' ] data['tickets[sales_end_time]'] = ['22:00', '22:00', '22:00'] data['tickets[min_order]'] = [2, 3, 4] data['tickets[max_order]'] = [5, 6, 7] data['tickets[tags]'] = ['session,talk', 'talk', 'session'] # Add tax form to event data['taxAllow'] = 'taxYes' data['tax_country'] = 'Tax Country' data['tax_name'] = 'Tax Name' data['tax_rate'] = 1 data['tax_id'] = 1 data['tax_invoice'] = 'invoiceYes' data['registered_company'] = 'TestCompany' data['buisness_address'] = 'TestAddress' data['invoice_city'] = 'TestCity' data['invoice_state'] = 'TestState' data['tax_zip'] = 1234 data['tax_options'] = 'tax_include' postdata = ImmutableMultiDict(data) rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=postdata) self.assertTrue('TestEvent 1' in rv.data, msg=rv.data) #Test Payment Details self.assertTrue(data['payment_country'] in rv.data, msg=rv.data) self.assertTrue(data['paypal_email'] in rv.data, msg=rv.data) # Test Tickets event = DataGetter.get_event(1) self.assertEqual(len(event.tickets), 3, msg=event.tickets) for ticket in event.tickets: self.assertIn(ticket.name, data['tickets[name]'], msg=data['tickets[name]']) #Test Tax Form tax = DataGetter.get_tax_options(1) self.assertEqual(tax.country, data['tax_country']) self.assertEqual(tax.tax_rate, data['tax_rate']) rv2 = self.app.get(url_for('events.details_view', event_id=1)) self.assertTrue(postdata['sponsors[name]'] in rv2.data, msg=rv2.data)
def test_index_with_event(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event) resp = self.app.get('/sitemap.xml') self.assertIn('1.xml.gz', resp.data)
def test_get_invite_by_user(self): with app.test_request_context(): notification = ObjectMother.get_notification() save_to_db(notification, 'Save') invite = DataGetter.get_invite_by_user_id(1) self.assertFalse(invite)
def test_get_user_notification(self): with app.test_request_context(): notification = ObjectMother.get_notification() save_to_db(notification, 'Save') self.assertTrue(DataGetter.get_user_notification(1))
def setUp(self): self.app = Setup.create_app() with app.test_request_context(): db.session.add(ObjectMother.get_event()) db.session.commit()
def test_scheduler_view(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") rv = self.app.get(url_for('event_scheduler.display_view', event_id=event.id), follow_redirects=True) self.assertTrue("Scheduler" in rv.data, msg=rv.data)
def test_get_speaker_by_id(self): speaker = ObjectMother.get_speaker() with app.test_request_context(): save_to_db(speaker, "Speaker saved") response = self.app.get('/api/v1/event/speakers/1') self.assertEqual(response.status_code, 200)
def test_all_user_notifications(self): with app.test_request_context(): user = ObjectMother.get_user() self.assertEquals(DataGetter().get_all_user_notifications(user), [])
def test_add_microlocation_to_db(self): microlocation = ObjectMother.get_microlocation() with app.test_request_context(): save_to_db(microlocation, "Microlocation saved") self.assertEqual(microlocation.id, 1) self.assertEqual(microlocation.event_id, 1)