def setUp(self):
        self.app = Setup.create_app()
        with app.test_request_context():
            event = Event(name=UNICODE_STRING,
                          start_time=datetime(2013, 8, 4, 12, 30, 45),
                          end_time=datetime(2016, 9, 4, 12, 30, 45))
            event.owner = 1

            microlocation = Microlocation(name=UNICODE_STRING)
            level = Level(name=UNICODE_STRING, event_id=1)
            session_format = Format(name=UNICODE_STRING, label_en='label',
                                    event_id=1)
            language = Language(name=UNICODE_STRING, event_id=1)
            session = Session(title=UNICODE_STRING, description='descp',
                              start_time=datetime(2014, 8, 4, 12, 30, 45),
                              end_time=datetime(2015, 9, 4, 12, 30, 45))
            speaker = Speaker(name=UNICODE_STRING, email='*****@*****.**',
                              organisation='org', country='japan')
            sponsor = Sponsor(name=UNICODE_STRING)

            save_to_db(event, "Event saved")
            save_to_db(microlocation, 'Microlocation saved')
            save_to_db(level, 'Level saved')
            save_to_db(session_format, 'Format saved')
            save_to_db(language, 'Language saved')
            save_to_db(session, 'Session saved')
            save_to_db(speaker, 'Speaker saved')
            save_to_db(sponsor, 'Sponsor saved')
 def test_level_name(self):
     """Unicode handling for Level model"""
     with app.test_request_context():
         try:
             str(Level.query.get(1))
         except UnicodeEncodeError:
             self.fail('UnicodeEncodeError for level')
 def test_update_version_function(self):
     with app.test_request_context():
         update_version(1, True, "tracks_ver")
         self.assertEqual(Version.query.get(1).id, 1)
         self.assertEqual(Version.query.get(1).tracks_ver, 0)
         update_version(1, False, "tracks_ver")
         self.assertEqual(Version.query.get(2).tracks_ver, 1)
 def test_save_to_db_called_db_session_rollback(self, method):
     with app.test_request_context():
         try:
             self._create_microlocation()
         except Exception:
             pass
         self.assertTrue(not method.called)
 def setUp(self):
     self.app = Setup.create_app()
     with app.test_request_context():
         # `event_id` is going to be 1
         event_id = create_event()
         # Associate services to event_id
         create_services(event_id)
 def test_language_name(self):
     """Unicode handling for Language model"""
     with app.test_request_context():
         try:
             str(Language.query.get(1))
         except UnicodeEncodeError:
             self.fail('UnicodeEncodeError for language')
 def test_admin_dashboard_attempt(self):
     with app.test_request_context():
         logout(self.app)
         register(self.app, "*****@*****.**", "SomeRandomPassword")
         login(self.app, "*****@*****.**", "SomeRandomPassword")
         rv = self.app.get(url_for('sadmin.index_view'), follow_redirects=True)
         self.assertEqual(rv.status_code, 403)
 def _test_model(self, name):
     """
     Tests -
     1. When just one item, check if next and prev urls are empty
     2. When one more item added, limit results to 1 and see if
         next is not empty
     3. start from position 2 and see if prev is not empty
     """
     if name == 'event':
         path = get_path('page')
     else:
         path = get_path(1, name + 's', 'page')
     data = self._json_from_url(path)
     self.assertEqual(data['next'], '')
     self.assertEqual(data['previous'], '')
     # add second service
     with app.test_request_context():
         create_event(name='TestEvent2')
         create_services(1)
     data = self._json_from_url(path + '?limit=1')
     self.assertIn('start=2', data['next'])
     self.assertEqual(data['previous'], '')
     # check from start=2
     data = self._json_from_url(path + '?start=2')
     self.assertIn('limit=1', data['previous'])
     self.assertEqual(data['next'], '')
 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_session_end_time_greater_than_start_time(self):
     with app.test_request_context():
         self.session_form['start_time'].data = datetime(2015, 8, 4, 12, 30, 45)
         self.session_form['end_time'].data = datetime(2014, 9, 4, 12, 30, 45)
         request.url = 'http://0.0.0.0:5000/admin/event/1'
         with self.assertRaises(ValidationError):
             CustomDateSessionValidate().__call__(form=self.session_form, field=None)
 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_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_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_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_session_delete(self):
     with app.test_request_context():
         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_event_name(self):
     """Unicode handling for Event model"""
     with app.test_request_context():
         try:
             str(Event.query.get(1))
         except UnicodeEncodeError:
             self.fail('UnicodeEncodeError for event')
 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_session_title(self):
     """Unicode handling for Session model"""
     with app.test_request_context():
         try:
             str(Session.query.get(1))
         except UnicodeEncodeError:
             self.fail('UnicodeEncodeError for session')
 def test_microlocation_name(self):
     """Unicode handling for Microlocation model"""
     with app.test_request_context():
         try:
             str(Microlocation.query.get(1))
         except UnicodeEncodeError:
             self.fail('UnicodeEncodeError for microlocation')
 def test_speaker_name(self):
     """Unicode handling for Speaker model"""
     with app.test_request_context():
         try:
             str(Speaker.query.get(1))
         except UnicodeEncodeError:
             self.fail('UnicodeEncodeError for speaker')
 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_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)
예제 #23
0
 def create_app():
     app.config['TESTING'] = True
     app.config['WTF_CSRF_ENABLED'] = False
     app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(_basedir, 'test.db')
     app.secret_key = 'super secret key'
     with app.test_request_context():
         db.create_all()
     return app.test_client()
 def setUp(self):
     self.app = Setup.create_app()
     with app.test_request_context():
         register(self.app, u'*****@*****.**', u'test')
         create_event(creator_email='*****@*****.**')
         create_services(1, '1')
         create_services(1, '2')
         create_services(1, '3')
 def _test_path(self, path):
     """Test response for 400 status code. Also test if response body
     contains 'does not belong to event' string.
     """
     with app.test_request_context():
         response = self.app.get(path)
         self.assertEqual(response.status_code, 400)
         self.assertIn('does not belong to event', response.data)
 def test_img_upload(self):
     with app.test_request_context():
         data = dict(
             file=(StringIO(b'my file contents'), "file.png"),
         )
         response = self.app.post('/profile/edit/', content_type='multipart/form-data', data=data,
                                  follow_redirects=True)
         self.assertTrue(response.status_code, 200)
 def test_session_both_time_equality(self):
     """Session end time and start time should not be equal"""
     with app.test_request_context():
         with self.assertRaises(ValidationError):
             self._session_form_req_url(
                 datetime(2015, 8, 4, 12, 30, 45),
                 datetime(2015, 8, 4, 12, 30, 45)
             )
 def test_session_start_time_range(self):
     """Session start time should be inside Event time range"""
     with app.test_request_context():
         with self.assertRaises(ValidationError):
             self._session_form_req_url(
                 datetime(2012, 8, 4, 12, 30, 45),
                 datetime(2016, 9, 4, 12, 30, 45)
             )
 def test_session_start_and_end_time(self):
     """Session end time should not be smaller than its start time"""
     with app.test_request_context():
         with self.assertRaises(ValidationError):
             self._session_form_req_url(
                 datetime(2015, 8, 4, 12, 30, 45),
                 datetime(2014, 9, 4, 12, 30, 45)
             )
 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 test_events_create_post_publish(self):
     with app.test_request_context():
         url = url_for('events.create_view')
         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['state'] = 'Published'
         rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data',
                            data=data)
         self.assertTrue('unpublish' in rv.data, msg=rv.data)
 def test_profile_edit(self):
     with app.test_request_context():
         data = {
             'email': self.super_admin.email,
             'full_name': 'Super Hero',
             'facebook': 'https://fb.me/super_hero',
             'contact': '+9622100100',
             'twitter': 'https://t.co/super_hero',
             'details': 'I am a super hero'
         }
         rv = self.app.post(url_for('profile.edit_view'), follow_redirects=True, buffered=True,
                            content_type='multipart/form-data', data=data)
         self.assertTrue("Super Hero" in rv.data, msg=rv.data)
 def test_user_already_logged_in(self):
     """If the user is already logged in then on clicking 'Login with Facebook' he should be redirected
         directly to the admin page"""
     with app.test_request_context():
         register(self.app, '*****@*****.**', 'test')
         logout(self.app)
         login(self.app, '*****@*****.**', 'test')
         self.assertTrue('Open Event' in self.app.get(
             '/fCallback/?code=dummy_code&state=dummy_state',
             follow_redirects=True).data)
         self.assertEqual(
             self.app.get('/fCallback/?code=dummy_code&state=dummy_state').
             status_code, 302)
예제 #34
0
 def test_session_edit(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")
         url = url_for('event_sessions.edit_view',
                       event_id=event.id,
                       session_id=session.id)
         rv = self.app.get(url, follow_redirects=True)
         self.assertTrue("Edit Session" in rv.data, msg=rv.data)
예제 #35
0
 def test_speaker_delete(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, "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)
예제 #36
0
    def setUp(self):
        self.app = Setup.create_app()
        with app.test_request_context():
            # Create two instances of event/services

            # event_id is going to be 1
            event_id1 = create_event('TestEvent_1')
            # event_id is going to be 2
            create_event('TestEvent_2')

            # Associate services to event_id1
            create_services(event_id1, serial_no=1)
            create_services(event_id1, serial_no=2)
예제 #37
0
 def test_session_view(self):
     with app.test_request_context():
         self.login()
         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=1,
                       session_id=1)
         rv = self.app.get(url, follow_redirects=True)
         self.assertTrue("Short Abstract" in rv.data, msg=rv.data)
 def test_export_success(self):
     path = get_path(1, 'export', 'json')
     resp = self.app.get(path)
     self.assertEqual(resp.status_code, 200)
     self.assertIn('event1.zip', resp.headers['Content-Disposition'])
     size = len(resp.data)
     with app.test_request_context():
         create_services(1, '2')
         create_services(1, '3')
     # check if size increased
     resp = self.app.get(path)
     self.assertEqual(resp.status_code, 200)
     self.assertTrue(len(resp.data) > size)
 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_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_events_create_post(self):
     with app.test_request_context():
         custom_forms = ObjectMother.get_custom_form()
         url = url_for('events.create_view')
         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_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)
예제 #43
0
 def test_api_tracks(self):
     with self.assertRaises(Exception) as context:
         self.app.get('/api/v1/event/1')
     self.assertTrue(AttributeError, context.exception)
     ev = Event(name="event1",
                start_time=datetime.datetime(2003, 8, 4, 12, 30, 45),
                end_time=datetime.datetime(2003, 8, 4, 12, 30, 45))
     tr = Track(name="name", event_id=1, description="description")
     with app.test_request_context():
         db.session.add(ev)
         db.session.add(tr)
         db.session.commit()
     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)
예제 #44
0
 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)
예제 #45
0
 def _test_model(self, name):
     """
     Tests the 404 response, then add item
     and test the success response
     """
     path = get_path(1, name + 's', 'page')
     response = self.app.get(path, follow_redirects=True)
     # check for 404 in no data
     self.assertEqual(response.status_code, 404)
     # add single data
     with app.test_request_context():
         create_services(1)
     response = self.app.get(path, follow_redirects=True)
     self.assertEqual(response.status_code, 200)
     self.assertIn('Test' + str(name).title(), response.data)
예제 #46
0
 def test_wrong_form_config(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")
         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(
             "Speaker form has been incorrectly configured for this event. Editing has been disabled"
             in rv.data,
             msg=rv.data)
예제 #47
0
 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_events_create_post_publish_without_location_attempt(self):
     with app.test_request_context():
         custom_forms = ObjectMother.get_custom_form()
         url = url_for('events.create_view')
         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['location_name'] = ''
         data['state'] = u'Published'
         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('To publish your event please review the highlighted fields below' 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_if_user_has_user_details(self):
     """Check if user has user_details fields during sign up via facebook"""
     with app.test_request_context():
         user = None
         user_data = {
             'email': '*****@*****.**',
             'name': 'dsads',
             'picture': {
                 'data': {
                     'url': 'aaaa'
                 }
             }
         }
         token = 'dsadsads'
         method = 'Facebook'
         user = create_user_oauth(user, user_data, token, method)
         self.assertTrue(user.user_detail)
    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)
예제 #52
0
 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_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)
예제 #55
0
 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)
    def test_speaker_edit(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.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_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]
         save_to_db(speaker, "Session Saved")
         rv = self.app.get(url_for('event_detail.display_event_schedule',
                                   event_id=event.id),
                           follow_redirects=True)
         self.assertEqual(rv.status_code, 404)
예제 #58
0
 def test_my_session_unauthorized_access(self):
     with app.test_request_context():
         event = ObjectMother.get_event()
         user = ObjectMother.get_user()
         save_to_db(user, "User saved")
         save_to_db(event, "Event saved")
         speaker = Speaker(name="name",
                           email="*****@*****.**",
                           organisation="FOSSASIA",
                           event_id=event.id,
                           user=user,
                           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.assertEqual(rv.status_code, 404)
 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_cfs_view(self):
        with app.test_request_context():

            event = ObjectMother.get_event()
            event.state = 'Published'
            save_to_db(event, "Event Saved")

            custom_form = ObjectMother.get_custom_form()
            custom_form.event_id = event.id
            save_to_db(custom_form, "Custom form saved")

            call_for_papers = CallForPaper(
                announcement="Announce",
                start_date=datetime(2003, 8, 4, 12, 30, 45),
                end_date=datetime(2004, 8, 4, 12, 30, 45),
                event_id=event.id)

            save_to_db(call_for_papers, "Call for papers saved")

            rv = self.app.get(url_for('event_detail.display_event_cfs',
                                      event_id=event.id),
                              follow_redirects=True)
            self.assertTrue("Closed" in rv.data, msg=rv.data)