def test_event_delete(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('events.delete_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_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_speaker_edit(self): with app.test_request_context(): self.login() 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.post(url, data=dict(name='name2', email='*****@*****.**', organisation="FOSSASIA2", country="India2"), follow_redirects=True) self.assertTrue("Speaker has been saved" in rv.data, msg=rv.data) 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("name2" in rv.data, msg=rv.data)
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', event_id=event.id), follow_redirects=True) self.assertEqual(rv.status_code, 404)
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_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 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_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_events_edit(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_forms = ObjectMother.get_custom_form(event.id) save_to_db(custom_forms, "Custom forms saved") url = url_for('events.edit_view', event_id=event.id) data = POST_EVENT_DATA.copy() del data['copyright'] data['sponsors[name]'] = ['Sponsor 1', 'Sponsor 2'] data['sponsors[type]'] = ['Gold', 'Silver'] data['sponsors[url]'] = ["", ""] data['sponsors[description]'] = ["", ""] data['sponsors[level]'] = ["", ""] data['name'] = 'EditTestName' data['start_date'] = '07/04/2016' data['start_time'] = '19:00' data['end_date'] = '07/04/2016' data['end_time'] = '22:00' data['custom_form[name]'] = ['session_form', 'speaker_form'] data['custom_form[value]'] = [custom_forms.session_form, custom_forms.speaker_form] data = ImmutableMultiDict(data) rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue('EditTestName' in rv.data, msg=rv.data) self.assertTrue(data['sponsors[name]'] in rv.data, msg=rv.data)
def test_published_event_view_coc(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_coc', event_id=event.id), follow_redirects=True) self.assertTrue("Code of Conduct" 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.state = 'Published' return event
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_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_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", event_id=event.id), follow_redirects=True ) self.assertTrue("Open Event" in rv.data, msg=rv.data)
def test_event_delete(self): with app.test_request_context(): event = ObjectMother.get_event() register(self.app, u'*****@*****.**', u'test2') login(self.app, '*****@*****.**', 'test2') save_to_db(event, "Event saved") url = url_for('events.delete_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Forbidden" in rv.data, msg=rv.data)
def setUp(self): self.app = Setup.create_app() with app.test_request_context(): event = ObjectMother.get_event() event.owner = 1 track = ObjectMother.get_track() save_to_db(event,"Event saved") save_to_db(track, "Track saved") register(self.app,'test', '*****@*****.**', 'test')
def test_session_reject(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.reject_session', event_id=1, session_id=session.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("The session has been rejected" in rv.data, msg=rv.data)
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 setUp(self): self.app = Setup.create_app() with app.test_request_context(): event = ObjectMother.get_event() event.owner = 1 track = ObjectMother.get_track() save_to_db(event, "Event saved") save_to_db(track, "Track saved") register(self.app, 'test', '*****@*****.**', 'test')
def test_api_tracks(self): self.assertEqual(self.app.get('/api/v1/event/1').status_code, 404) event = ObjectMother.get_event() track = ObjectMother.get_track() with app.test_request_context(): 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 test_api_tracks(self): self.assertEqual(self.app.get('/api/v1/event/1').status_code, 404) event = ObjectMother.get_event() track = ObjectMother.get_track() with app.test_request_context(): 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 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_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_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 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_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_event_unpublish(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = "Published" register(self.app, u'*****@*****.**', u'test2') login(self.app, '*****@*****.**', 'test2') save_to_db(event, "Event saved") url = url_for('events.unpublish_event', event_id=event.id) rv = self.app.get(url, follow_redirects=True) event = DataGetter.get_event(event.id) self.assertEqual("Draft", event.state, msg=event.state)
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_api_tracks(self): with self.assertRaises(Exception) as context: self.app.get('/api/v1/event/1') self.assertTrue(AttributeError, context.exception) event = ObjectMother.get_event() track = ObjectMother.get_track() with app.test_request_context(): 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 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_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() event.creator = self.super_admin 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_restore_session_from_trash(self): 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) with app.test_request_context(): save_to_db(event, "Event saved") save_to_db(session, "Session saved") restore_session(1) self.assertEqual(session.in_trash, False)
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_events_edit(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_forms = ObjectMother.get_custom_form(event.id) save_to_db(custom_forms, "Custom forms saved") url = url_for('events.edit_view', event_id=event.id) data = POST_EVENT_DATA data['start_date'] = '07/04/2016' data['start_time'] = '19:00' data['end_date'] = '07/04/2016' data['end_time'] = '22:00' data['custom_form[name]'] = ['session_form', 'speaker_form'] data['custom_form[value]'] = [custom_forms.session_form, custom_forms.speaker_form] rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue(POST_EVENT_DATA['name'] in rv.data, msg=rv.data)
def test_role_create_post(self): with app.test_request_context(): event = ObjectMother.get_event() event.creator = self.super_admin 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 test_role_update(self): with app.test_request_context(): event = ObjectMother.get_event() event.creator = self.super_admin 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_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', event_id=event.id), follow_redirects=True) self.assertTrue("Sessions" in rv.data, msg=rv.data)
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', 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("mysessions" in rv.data, msg=rv.data)