mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-18 14:02:15 +00:00
Merge pull request #290 from nottinghamtec/hotfix/event-times-dissapearing
Hotfix/event times dissapearing
This commit is contained in:
@@ -12,8 +12,8 @@ from RIGS import models
|
|||||||
|
|
||||||
# Override the django form defaults to use the HTML date/time/datetime UI elements
|
# Override the django form defaults to use the HTML date/time/datetime UI elements
|
||||||
forms.DateField.widget = forms.DateInput(attrs={'type': 'date'})
|
forms.DateField.widget = forms.DateInput(attrs={'type': 'date'})
|
||||||
forms.TimeField.widget = forms.DateInput(attrs={'type': 'time'})
|
forms.TimeField.widget = forms.TextInput(attrs={'type': 'time'})
|
||||||
forms.DateTimeField.widget = forms.DateInput(attrs={'type': 'datetime-local'})
|
forms.DateTimeField.widget = forms.DateTimeInput(attrs={'type': 'datetime-local'})
|
||||||
|
|
||||||
# Registration
|
# Registration
|
||||||
class ProfileRegistrationFormUniqueEmail(RegistrationFormUniqueEmail):
|
class ProfileRegistrationFormUniqueEmail(RegistrationFormUniqueEmail):
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
from datetime import date, timedelta
|
import pytz
|
||||||
|
from datetime import date, time, datetime, timedelta
|
||||||
|
|
||||||
from django.core import mail
|
from django.core import mail
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
@@ -16,7 +17,8 @@ from RIGS import models
|
|||||||
|
|
||||||
from reversion import revisions as reversion
|
from reversion import revisions as reversion
|
||||||
|
|
||||||
import time
|
from django.conf import settings
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
browsers = [{"platform": "macOS 10.12",
|
browsers = [{"platform": "macOS 10.12",
|
||||||
@@ -26,15 +28,20 @@ browsers = [{"platform": "macOS 10.12",
|
|||||||
|
|
||||||
|
|
||||||
def on_platforms(platforms):
|
def on_platforms(platforms):
|
||||||
if os.environ.get("TRAVIS"):
|
if not os.environ.get("TRAVIS"):
|
||||||
def decorator(base_class):
|
platforms = {'local'}
|
||||||
module = sys.modules[base_class.__module__].__dict__
|
|
||||||
for i, platform in enumerate(platforms):
|
def decorator(base_class):
|
||||||
d = dict(base_class.__dict__)
|
module = sys.modules[base_class.__module__].__dict__
|
||||||
d['desired_capabilities'] = platform
|
for i, platform in enumerate(platforms):
|
||||||
name = "%s_%s" % (base_class.__name__, i + 1)
|
d = dict(base_class.__dict__)
|
||||||
module[name] = type(name, (base_class,), d)
|
d['desired_capabilities'] = platform
|
||||||
return decorator
|
name = "%s_%s" % (base_class.__name__, i + 1)
|
||||||
|
module[name] = type(name, (base_class,), d)
|
||||||
|
|
||||||
|
return decorator
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def create_browser(test_name, desired_capabilities):
|
def create_browser(test_name, desired_capabilities):
|
||||||
@@ -748,6 +755,65 @@ class EventTest(LiveServerTestCase):
|
|||||||
|
|
||||||
organisationPanel = self.browser.find_element_by_xpath('//div[contains(text(), "Contact Details")]/..')
|
organisationPanel = self.browser.find_element_by_xpath('//div[contains(text(), "Contact Details")]/..')
|
||||||
|
|
||||||
|
def testEventEdit(self):
|
||||||
|
person = models.Person(name="Event Edit Person", email="eventdetail@person.tests.rigs", phone="123 123").save()
|
||||||
|
organisation = models.Organisation(name="Event Edit Organisation", email="eventdetail@organisation.tests.rigs", phone="123 456").save()
|
||||||
|
venue = models.Venue(name="Event Detail Venue").save()
|
||||||
|
|
||||||
|
eventData = {
|
||||||
|
'name': "Detail Test",
|
||||||
|
'description': "This is an event to test the detail view",
|
||||||
|
'notes': "It is going to be awful",
|
||||||
|
'person': person,
|
||||||
|
'organisation': organisation,
|
||||||
|
'venue': venue,
|
||||||
|
'mic': self.profile,
|
||||||
|
'start_date': date(2015, 06, 04),
|
||||||
|
'end_date': date(2015, 06, 05),
|
||||||
|
'start_time': time(10, 00),
|
||||||
|
'end_time': time(15, 00),
|
||||||
|
'meet_at': self.create_datetime(2015, 06, 04, 10, 00),
|
||||||
|
'access_at': self.create_datetime(2015, 06, 04, 10, 00),
|
||||||
|
'collector': 'A Person'
|
||||||
|
}
|
||||||
|
|
||||||
|
event = models.Event(**eventData)
|
||||||
|
event.save()
|
||||||
|
|
||||||
|
item1Data = {
|
||||||
|
'event': event,
|
||||||
|
'name': "Detail Item 1",
|
||||||
|
'cost': "10.00",
|
||||||
|
'quantity': "1",
|
||||||
|
'order': 1
|
||||||
|
}
|
||||||
|
|
||||||
|
models.EventItem(**item1Data).save()
|
||||||
|
|
||||||
|
self.browser.get(self.live_server_url + '/event/%d/edit/' % event.pk)
|
||||||
|
self.authenticate('/event/%d/edit/' % event.pk)
|
||||||
|
|
||||||
|
save = self.browser.find_element_by_xpath('(//button[@type="submit"])[1]')
|
||||||
|
save.click()
|
||||||
|
|
||||||
|
successTitle = self.browser.find_element_by_xpath('//h1').text
|
||||||
|
self.assertIn("N%05d | Detail Test" % event.pk, successTitle)
|
||||||
|
|
||||||
|
reloadedEvent = models.Event.objects.get(name='Detail Test')
|
||||||
|
reloadedItem = models.EventItem.objects.get(name='Detail Item 1')
|
||||||
|
|
||||||
|
# Check the event
|
||||||
|
for key, value in eventData.iteritems():
|
||||||
|
self.assertEqual(str(getattr(reloadedEvent, key)), str(value))
|
||||||
|
|
||||||
|
# Check the item
|
||||||
|
for key, value in item1Data.iteritems():
|
||||||
|
self.assertEqual(str(getattr(reloadedItem, key)), str(value))
|
||||||
|
|
||||||
|
def create_datetime(self, year, month, day, hour, min):
|
||||||
|
tz = pytz.timezone(settings.TIME_ZONE)
|
||||||
|
return tz.localize(datetime(year, month, day, hour, min)).astimezone(pytz.utc)
|
||||||
|
|
||||||
@on_platforms(browsers)
|
@on_platforms(browsers)
|
||||||
class IcalTest(LiveServerTestCase):
|
class IcalTest(LiveServerTestCase):
|
||||||
|
|
||||||
@@ -947,5 +1013,6 @@ class animation_is_finished(object):
|
|||||||
numberAnimating = driver.execute_script('return $(":animated").length')
|
numberAnimating = driver.execute_script('return $(":animated").length')
|
||||||
finished = numberAnimating == 0
|
finished = numberAnimating == 0
|
||||||
if finished:
|
if finished:
|
||||||
|
import time
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
return finished
|
return finished
|
||||||
|
|||||||
Reference in New Issue
Block a user