Beispiel #1
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 save_social_links(social_links, event):
    old_social_links = SocialLink.query.filter_by(event_id=event.id)
    for old_social_link in old_social_links:
        flag = 0
        for new_social_link in social_links:
            if old_social_link.name == new_social_link[
                    'name'] and new_social_link['link'] != "":
                flag = 1
                break
            else:
                flag = 0
        if flag == 0:
            db.session.delete(old_social_link)
    for social_link in social_links:
        if social_link['link'].strip() != "":
            if not social_link['link'].startswith("http"):
                social_link['link'] = "https://" + social_link['link']
            else:
                social_link['link'] = social_link['link']
            social_exists = SocialLink.query.filter_by(
                name=social_link['name'], event_id=event.id).scalar()
            if social_exists:
                SocialLink.query.filter_by(name=social_link['name'],
                                           event_id=event.id).update(
                                               {'link': social_link['link']})
            else:
                social = SocialLink(social_link['name'], social_link['link'],
                                    event.id)
                db.session.add(social)
def create_services(event_id, serial_no=''):
    """Creates services and associates them with `event_id`. Service names
    have an optional `serial_no` that can be used to make them unique.
    """
    test_micro = 'TestMicrolocation{}_{}'.format(serial_no, event_id)
    test_track = 'TestTrack{}_{}'.format(serial_no, event_id)
    test_session = 'TestSession{}_{}'.format(serial_no, event_id)
    test_speaker = 'TestSpeaker{}_{}'.format(serial_no, event_id)
    test_sponsor = 'TestSponsor{}_{}'.format(serial_no, event_id)
    test_sponsor_type = 'TestSponsorType{}_{}'.format(serial_no, event_id)
    test_session_type = 'TestSessionType{}_{}'.format(serial_no, event_id)
    test_social_link = 'TestSocialLink{}_{}'.format(serial_no, event_id)

    microlocation = Microlocation(name=test_micro, event_id=event_id)
    track = Track(
        name=test_track,
        description='descp',
        event_id=event_id,
        color='#caf034'
    )
    session_type = SessionType(
        name=test_session_type,
        length=30,
        event_id=event_id
    )
    session = Session(title=test_session,
                      long_abstract='descp',
                      start_time=datetime(2014, 8, 4, 12, 30, 45),
                      end_time=datetime(2014, 8, 4, 13, 00, 00),
                      event_id=event_id,
                      session_type=session_type)
    speaker = Speaker(name=test_speaker,
                      email='*****@*****.**',
                      organisation='org',
                      country='japan',
                      event_id=event_id)
    sponsor = Sponsor(name=test_sponsor, sponsor_type=test_sponsor_type,
                      event_id=event_id, level='level')
    social_link = SocialLink(
        name=test_social_link,
        link='http://fb.com',
        event_id=event_id
    )

    save_to_db(social_link, 'SocialLink saved')
    save_to_db(session_type, 'SessionType saved')
    save_to_db(microlocation, 'Microlocation saved')
    save_to_db(track, 'Track saved')
    save_to_db(session, 'Session saved')
    save_to_db(speaker, 'Speaker saved')
    save_to_db(sponsor, 'Sponsor saved')