mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-27 10:22:17 +00:00
Add failing test
This commit is contained in:
@@ -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",
|
||||||
@@ -753,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):
|
||||||
|
|
||||||
@@ -952,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