示例#1
0
    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_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 = fix_attribute_names(POST_EVENT_DATA.copy(), EVENT_POST)
         del data['copyright']
         del data['call_for_papers']
         data['payment_country'] = 'United States'
         data['payment_currency'] = 'USD United States Dollars $'
         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['has_session_speakers'] = 'no'
         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_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_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_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_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)
示例#7
0
 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_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',
                                      identifier=event.identifier), follow_redirects=True)
            self.assertTrue("Closed" 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_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 = fix_attribute_names(POST_EVENT_DATA.copy(), EVENT_POST)
         del data['copyright']
         del data['call_for_papers']
         data['payment_country'] = 'United States'
         data['payment_currency'] = 'USD United States Dollars $'
         data['sponsors_state'] = 'on'
         data['sponsors[name]'] = ['Sponsor 1', 'Sponsor 2']
         data['sponsors[type]'] = ['Gold', 'Silver']
         data['sponsors[url]'] = ["", ""]
         data['sponsors[logo]'] = ["", ""]
         data['sponsors[description]'] = ["", ""]
         data['sponsors[level]'] = ["", ""]
         data['name'] = 'EditTestName'
         data['start_date'] = '07/04/2016'
         data['start_time'] = '19:00'
         data['has_session_speakers'] = 'yes'
         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
         ]
         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_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)