mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-20 06:52:15 +00:00
Set wercker up to use postgres for tests again.
Modify the tests to be postgres compatible by using more pointers to things rather than getting them everytime.
This commit is contained in:
@@ -15,71 +15,82 @@ class ProfileTestCase(TestCase):
|
||||
|
||||
|
||||
class VatRateTestCase(TestCase):
|
||||
def setUp(self):
|
||||
models.VatRate.objects.create(start_at='2014-03-01', rate=0.20, comment='test1')
|
||||
models.VatRate.objects.create(start_at='2016-03-01', rate=0.15, comment='test2')
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
cls.rates = {
|
||||
0: models.VatRate.objects.create(start_at='2014-03-01', rate=0.20, comment='test1'),
|
||||
1: models.VatRate.objects.create(start_at='2016-03-01', rate=0.15, comment='test2'),
|
||||
}
|
||||
|
||||
def test_find_correct(self):
|
||||
r = models.VatRate.objects.find_rate('2015-03-01')
|
||||
self.assertEqual(r.comment, 'test1')
|
||||
self.assertEqual(r, self.rates[0])
|
||||
r = models.VatRate.objects.find_rate('2016-03-01')
|
||||
self.assertEqual(r.comment, 'test2')
|
||||
self.assertEqual(r, self.rates[1])
|
||||
|
||||
def test_percent_correct(self):
|
||||
r = models.VatRate.objects.get(rate=0.20)
|
||||
self.assertEqual(r.as_percent, 20)
|
||||
self.assertEqual(self.rates[0].as_percent, 20)
|
||||
|
||||
|
||||
class EventTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.all_events = set(range(1, 18))
|
||||
self.current_events = (1, 2, 3, 6, 7, 8, 10, 11, 12, 14, 15, 16, 18)
|
||||
self.not_current_events = set(self.all_events) - set(self.current_events)
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
cls.all_events = set(range(1, 18))
|
||||
cls.current_events = (1, 2, 3, 6, 7, 8, 10, 11, 12, 14, 15, 16, 18)
|
||||
cls.not_current_events = set(cls.all_events) - set(cls.current_events)
|
||||
|
||||
self.vatrate = models.VatRate.objects.create(start_at='2014-03-05', rate=0.20, comment='test1')
|
||||
self.profile = models.Profile.objects.create(username="testuser1", email="1@test.com")
|
||||
cls.vatrate = models.VatRate.objects.create(start_at='2014-03-05', rate=0.20, comment='test1')
|
||||
cls.profile = models.Profile.objects.create(username="testuser1", email="1@test.com")
|
||||
|
||||
# produce 7 normal events - 5 current
|
||||
models.Event.objects.create(name="TE E1", start_date=date.today() + timedelta(days=6),
|
||||
description="start future no end")
|
||||
models.Event.objects.create(name="TE E2", start_date=date.today(), description="start today no end")
|
||||
models.Event.objects.create(name="TE E3", start_date=date.today(), end_date=date.today(),
|
||||
description="start today with end today")
|
||||
models.Event.objects.create(name="TE E4", start_date='2014-03-20', description="start past no end")
|
||||
models.Event.objects.create(name="TE E5", start_date='2014-03-20', end_date='2014-03-21',
|
||||
description="start past with end past")
|
||||
models.Event.objects.create(name="TE E6", start_date=date.today() - timedelta(days=2),
|
||||
end_date=date.today() + timedelta(days=2), description="start past, end future")
|
||||
models.Event.objects.create(name="TE E7", start_date=date.today() + timedelta(days=2),
|
||||
end_date=date.today() + timedelta(days=2), description="start + end in future")
|
||||
cls.events = {
|
||||
# produce 7 normal events - 5 current
|
||||
1: models.Event.objects.create(name="TE E1", start_date=date.today() + timedelta(days=6),
|
||||
description="start future no end"),
|
||||
2: models.Event.objects.create(name="TE E2", start_date=date.today(), description="start today no end"),
|
||||
3: models.Event.objects.create(name="TE E3", start_date=date.today(), end_date=date.today(),
|
||||
description="start today with end today"),
|
||||
4: models.Event.objects.create(name="TE E4", start_date='2014-03-20', description="start past no end"),
|
||||
5: models.Event.objects.create(name="TE E5", start_date='2014-03-20', end_date='2014-03-21',
|
||||
description="start past with end past"),
|
||||
6: models.Event.objects.create(name="TE E6", start_date=date.today() - timedelta(days=2),
|
||||
end_date=date.today() + timedelta(days=2),
|
||||
description="start past, end future"),
|
||||
7: models.Event.objects.create(name="TE E7", start_date=date.today() + timedelta(days=2),
|
||||
end_date=date.today() + timedelta(days=2),
|
||||
description="start + end in future"),
|
||||
|
||||
# 2 cancelled - 1 current
|
||||
models.Event.objects.create(name="TE E8", start_date=date.today() + timedelta(days=2),
|
||||
end_date=date.today() + timedelta(days=2), status=models.Event.CANCELLED,
|
||||
description="cancelled in future")
|
||||
models.Event.objects.create(name="TE E9", start_date=date.today() - timedelta(days=1),
|
||||
end_date=date.today() + timedelta(days=2), status=models.Event.CANCELLED,
|
||||
description="cancelled and started")
|
||||
# 2 cancelled - 1 current
|
||||
8: models.Event.objects.create(name="TE E8", start_date=date.today() + timedelta(days=2),
|
||||
end_date=date.today() + timedelta(days=2), status=models.Event.CANCELLED,
|
||||
description="cancelled in future"),
|
||||
9: models.Event.objects.create(name="TE E9", start_date=date.today() - timedelta(days=1),
|
||||
end_date=date.today() + timedelta(days=2), status=models.Event.CANCELLED,
|
||||
description="cancelled and started"),
|
||||
|
||||
# 5 dry hire - 3 current
|
||||
models.Event.objects.create(name="TE E10", start_date=date.today(), dry_hire=True, description="dryhire today")
|
||||
models.Event.objects.create(name="TE E11", start_date=date.today(), dry_hire=True, checked_in_by=self.profile,
|
||||
description="dryhire today, checked in")
|
||||
models.Event.objects.create(name="TE E12", start_date=date.today() - timedelta(days=1), dry_hire=True,
|
||||
status=models.Event.BOOKED, description="dryhire past")
|
||||
models.Event.objects.create(name="TE E13", start_date=date.today() - timedelta(days=2), dry_hire=True,
|
||||
checked_in_by=self.profile, description="dryhire past checked in")
|
||||
models.Event.objects.create(name="TE E14", start_date=date.today(), dry_hire=True,
|
||||
status=models.Event.CANCELLED, description="dryhire today cancelled")
|
||||
# 5 dry hire - 3 current
|
||||
10: models.Event.objects.create(name="TE E10", start_date=date.today(), dry_hire=True,
|
||||
description="dryhire today"),
|
||||
11: models.Event.objects.create(name="TE E11", start_date=date.today(), dry_hire=True,
|
||||
checked_in_by=cls.profile,
|
||||
description="dryhire today, checked in"),
|
||||
12: models.Event.objects.create(name="TE E12", start_date=date.today() - timedelta(days=1), dry_hire=True,
|
||||
status=models.Event.BOOKED, description="dryhire past"),
|
||||
13: models.Event.objects.create(name="TE E13", start_date=date.today() - timedelta(days=2), dry_hire=True,
|
||||
checked_in_by=cls.profile, description="dryhire past checked in"),
|
||||
14: models.Event.objects.create(name="TE E14", start_date=date.today(), dry_hire=True,
|
||||
status=models.Event.CANCELLED, description="dryhire today cancelled"),
|
||||
|
||||
# 4 non rig - 3 current
|
||||
models.Event.objects.create(name="TE E15", start_date=date.today(), is_rig=False, description="non rig today")
|
||||
models.Event.objects.create(name="TE E16", start_date=date.today() + timedelta(days=1), is_rig=False,
|
||||
description="non rig tomorrow")
|
||||
models.Event.objects.create(name="TE E17", start_date=date.today() - timedelta(days=1), is_rig=False,
|
||||
description="non rig yesterday")
|
||||
models.Event.objects.create(name="TE E18", start_date=date.today(), is_rig=False, status=models.Event.CANCELLED,
|
||||
description="non rig today cancelled")
|
||||
# 4 non rig - 3 current
|
||||
15: models.Event.objects.create(name="TE E15", start_date=date.today(), is_rig=False,
|
||||
description="non rig today"),
|
||||
16: models.Event.objects.create(name="TE E16", start_date=date.today() + timedelta(days=1), is_rig=False,
|
||||
description="non rig tomorrow"),
|
||||
17: models.Event.objects.create(name="TE E17", start_date=date.today() - timedelta(days=1), is_rig=False,
|
||||
description="non rig yesterday"),
|
||||
18: models.Event.objects.create(name="TE E18", start_date=date.today(), is_rig=False,
|
||||
status=models.Event.CANCELLED,
|
||||
description="non rig today cancelled"),
|
||||
}
|
||||
|
||||
def test_count(self):
|
||||
# Santiy check we have the expected events created
|
||||
@@ -101,17 +112,23 @@ class EventTestCase(TestCase):
|
||||
def test_related_venue(self):
|
||||
v1 = models.Venue.objects.create(name="TE V1")
|
||||
v2 = models.Venue.objects.create(name="TE V2")
|
||||
events = models.Event.objects.all()
|
||||
for event in events[:2]:
|
||||
event.venue = v1
|
||||
event.save()
|
||||
for event in events[3:4]:
|
||||
event.venue = v2
|
||||
|
||||
e1 = []
|
||||
e2 = []
|
||||
for (key, event) in self.events.iteritems():
|
||||
if event.pk % 2:
|
||||
event.venue = v1
|
||||
e1.append(event)
|
||||
else:
|
||||
event.venue = v2
|
||||
e2.append(event)
|
||||
event.save()
|
||||
|
||||
events = models.Event.objects.all()
|
||||
self.assertItemsEqual(events[:2], v1.latest_events)
|
||||
self.assertItemsEqual(events[3:4], v2.latest_events)
|
||||
self.assertItemsEqual(e1, v1.latest_events)
|
||||
self.assertItemsEqual(e2, v2.latest_events)
|
||||
|
||||
for (key, event) in self.events.iteritems():
|
||||
event.venue = None
|
||||
|
||||
def test_related_vatrate(self):
|
||||
self.assertEqual(self.vatrate, models.Event.objects.all()[0].vat_rate)
|
||||
@@ -120,33 +137,43 @@ class EventTestCase(TestCase):
|
||||
p1 = models.Person.objects.create(name="TE P1")
|
||||
p2 = models.Person.objects.create(name="TE P2")
|
||||
|
||||
events = models.Event.objects.all()
|
||||
for event in events[:2]:
|
||||
event.person = p1
|
||||
event.save()
|
||||
for event in events[3:4]:
|
||||
event.person = p2
|
||||
e1 = []
|
||||
e2 = []
|
||||
for (key, event) in self.events.iteritems():
|
||||
if event.pk % 2:
|
||||
event.person = p1
|
||||
e1.append(event)
|
||||
else:
|
||||
event.person = p2
|
||||
e2.append(event)
|
||||
event.save()
|
||||
|
||||
events = models.Event.objects.all()
|
||||
self.assertItemsEqual(events[:2], p1.latest_events)
|
||||
self.assertItemsEqual(events[3:4], p2.latest_events)
|
||||
self.assertItemsEqual(e1, p1.latest_events)
|
||||
self.assertItemsEqual(e2, p2.latest_events)
|
||||
|
||||
for (key, event) in self.events.iteritems():
|
||||
event.person = None
|
||||
|
||||
def test_related_organisation(self):
|
||||
o1 = models.Organisation.objects.create(name="TE O1")
|
||||
o2 = models.Organisation.objects.create(name="TE O2")
|
||||
|
||||
events = models.Event.objects.all()
|
||||
for event in events[:2]:
|
||||
event.organisation = o1
|
||||
event.save()
|
||||
for event in events[3:4]:
|
||||
event.organisation = o2
|
||||
e1 = []
|
||||
e2 = []
|
||||
for (key, event) in self.events.iteritems():
|
||||
if event.pk % 2:
|
||||
event.organisation = o1
|
||||
e1.append(event)
|
||||
else:
|
||||
event.organisation = o2
|
||||
e2.append(event)
|
||||
event.save()
|
||||
|
||||
events = models.Event.objects.all()
|
||||
self.assertItemsEqual(events[:2], o1.latest_events)
|
||||
self.assertItemsEqual(events[3:4], o2.latest_events)
|
||||
self.assertItemsEqual(e1, o1.latest_events)
|
||||
self.assertItemsEqual(e2, o2.latest_events)
|
||||
|
||||
for (key, event) in self.events.iteritems():
|
||||
event.organisation = None
|
||||
|
||||
def test_organisation_person_join(self):
|
||||
p1 = models.Person.objects.create(name="TE P1")
|
||||
@@ -184,20 +211,20 @@ class EventTestCase(TestCase):
|
||||
self.assertEqual(len(o2.persons), 1)
|
||||
|
||||
def test_cancelled_property(self):
|
||||
event = models.Event.objects.all()[0]
|
||||
event.status = models.Event.CANCELLED
|
||||
event.save()
|
||||
event = models.Event.objects.all()[0]
|
||||
edit = self.events[1]
|
||||
edit.status = models.Event.CANCELLED
|
||||
edit.save()
|
||||
event = models.Event.objects.get(pk=edit.pk)
|
||||
self.assertEqual(event.status, models.Event.CANCELLED)
|
||||
self.assertTrue(event.cancelled)
|
||||
event.status = models.Event.PROVISIONAL
|
||||
event.save()
|
||||
|
||||
def test_confirmed_property(self):
|
||||
event = models.Event.objects.all()[0]
|
||||
event.status = models.Event.CONFIRMED
|
||||
event.save()
|
||||
event = models.Event.objects.all()[0]
|
||||
edit = self.events[1]
|
||||
edit.status = models.Event.CONFIRMED
|
||||
edit.save()
|
||||
event = models.Event.objects.get(pk=edit.pk)
|
||||
self.assertEqual(event.status, models.Event.CONFIRMED)
|
||||
self.assertTrue(event.confirmed)
|
||||
event.status = models.Event.PROVISIONAL
|
||||
|
||||
Reference in New Issue
Block a user