Add failing test

This commit is contained in:
David Taylor
2017-05-16 14:50:18 +01:00
parent fbc039c274
commit cb23fd183e

View File

@@ -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