Update tests to check items that aren't selected aren't affected.

PEP8 format the file
This commit is contained in:
Tom Price
2016-04-06 21:52:25 +01:00
parent 44ccead0a4
commit ebe08c3bf1

View File

@@ -5,10 +5,12 @@ from datetime import date
from RIGS import models from RIGS import models
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
class TestAdminMergeObjects(TestCase): class TestAdminMergeObjects(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
cls.profile = models.Profile.objects.create(username="testuser1", email="1@test.com", is_superuser=True, is_active=True, is_staff=True) cls.profile = models.Profile.objects.create(username="testuser1", email="1@test.com", is_superuser=True,
is_active=True, is_staff=True)
cls.persons = { cls.persons = {
1: models.Person.objects.create(name="Person 1"), 1: models.Person.objects.create(name="Person 1"),
@@ -29,10 +31,14 @@ class TestAdminMergeObjects(TestCase):
} }
cls.events = { cls.events = {
1: models.Event.objects.create(name="TE E1", start_date=date.today(), person=cls.persons[1], organisation=cls.organisations[3], venue=cls.venues[2]), 1: models.Event.objects.create(name="TE E1", start_date=date.today(), person=cls.persons[1],
2: models.Event.objects.create(name="TE E2", start_date=date.today(), person=cls.persons[2], organisation=cls.organisations[2], venue=cls.venues[3]), organisation=cls.organisations[3], venue=cls.venues[2]),
3: models.Event.objects.create(name="TE E3", start_date=date.today(), person=cls.persons[3], organisation=cls.organisations[1], venue=cls.venues[1]), 2: models.Event.objects.create(name="TE E2", start_date=date.today(), person=cls.persons[2],
4: models.Event.objects.create(name="TE E4", start_date=date.today(), person=cls.persons[3], organisation=cls.organisations[3], venue=cls.venues[3]), organisation=cls.organisations[2], venue=cls.venues[3]),
3: models.Event.objects.create(name="TE E3", start_date=date.today(), person=cls.persons[3],
organisation=cls.organisations[1], venue=cls.venues[1]),
4: models.Event.objects.create(name="TE E4", start_date=date.today(), person=cls.persons[3],
organisation=cls.organisations[3], venue=cls.venues[3]),
} }
def setUp(self): def setUp(self):
@@ -44,20 +50,20 @@ class TestAdminMergeObjects(TestCase):
change_url = reverse('admin:RIGS_venue_changelist') change_url = reverse('admin:RIGS_venue_changelist')
data = { data = {
'action': 'merge', 'action': 'merge',
'_selected_action': [unicode(val.pk) for key,val in self.venues.iteritems()] '_selected_action': [unicode(val.pk) for key, val in self.venues.iteritems()]
} }
response = self.client.post(change_url, data, follow=True) response = self.client.post(change_url, data, follow=True)
self.assertContains(response, "The following objects will be merged") self.assertContains(response, "The following objects will be merged")
for key,venue in self.venues.iteritems(): for key, venue in self.venues.iteritems():
self.assertContains(response, venue.name) self.assertContains(response, venue.name)
def test_merge_no_master(self): def test_merge_no_master(self):
change_url = reverse('admin:RIGS_venue_changelist') change_url = reverse('admin:RIGS_venue_changelist')
data = {'action': 'merge', data = {'action': 'merge',
'_selected_action': [unicode(val.pk) for key,val in self.venues.iteritems()], '_selected_action': [unicode(val.pk) for key, val in self.venues.iteritems()],
'post':'yes', 'post': 'yes',
} }
response = self.client.post(change_url, data, follow=True) response = self.client.post(change_url, data, follow=True)
@@ -67,9 +73,9 @@ class TestAdminMergeObjects(TestCase):
change_url = reverse('admin:RIGS_venue_changelist') change_url = reverse('admin:RIGS_venue_changelist')
data = {'action': 'merge', data = {'action': 'merge',
'_selected_action': [unicode(val.pk) for key,val in self.venues.iteritems()], '_selected_action': [unicode(self.venues[1].pk), unicode(self.venues[2].pk)],
'post':'yes', 'post': 'yes',
'master':self.venues[1].pk 'master': self.venues[1].pk
} }
response = self.client.post(change_url, data, follow=True) response = self.client.post(change_url, data, follow=True)
@@ -79,22 +85,26 @@ class TestAdminMergeObjects(TestCase):
# Check the master copy still exists # Check the master copy still exists
self.assertTrue(models.Venue.objects.get(pk=self.venues[1].pk)) self.assertTrue(models.Venue.objects.get(pk=self.venues[1].pk))
# Check the un-needed venues have been disposed of # Check the un-needed venue has been disposed of
self.assertRaises(ObjectDoesNotExist, models.Venue.objects.get, pk=self.venues[2].pk) self.assertRaises(ObjectDoesNotExist, models.Venue.objects.get, pk=self.venues[2].pk)
self.assertRaises(ObjectDoesNotExist, models.Venue.objects.get, pk=self.venues[3].pk)
# Check the one we didn't delete is still there
self.assertEqual(models.Venue.objects.get(pk=self.venues[3].pk), self.venues[3])
# Check the events have been moved to the master venue # Check the events have been moved to the master venue
for key,event in self.events.iteritems(): for key, event in self.events.iteritems():
updatedEvent = models.Event.objects.get(pk=event.pk) updatedEvent = models.Event.objects.get(pk=event.pk)
if event.venue == self.venues[3]: # The one we left in place
continue
self.assertEqual(updatedEvent.venue, self.venues[1]) self.assertEqual(updatedEvent.venue, self.venues[1])
def test_person_merge(self): def test_person_merge(self):
change_url = reverse('admin:RIGS_person_changelist') change_url = reverse('admin:RIGS_person_changelist')
data = {'action': 'merge', data = {'action': 'merge',
'_selected_action': [unicode(val.pk) for key,val in self.persons.iteritems()], '_selected_action': [unicode(self.persons[1].pk), unicode(self.persons[2].pk)],
'post':'yes', 'post': 'yes',
'master':self.persons[1].pk 'master': self.persons[1].pk
} }
response = self.client.post(change_url, data, follow=True) response = self.client.post(change_url, data, follow=True)
@@ -106,20 +116,24 @@ class TestAdminMergeObjects(TestCase):
# Check the un-needed people have been disposed of # Check the un-needed people have been disposed of
self.assertRaises(ObjectDoesNotExist, models.Person.objects.get, pk=self.persons[2].pk) self.assertRaises(ObjectDoesNotExist, models.Person.objects.get, pk=self.persons[2].pk)
self.assertRaises(ObjectDoesNotExist, models.Person.objects.get, pk=self.persons[3].pk)
# Check the one we didn't delete is still there
self.assertEqual(models.Person.objects.get(pk=self.persons[3].pk), self.persons[3])
# Check the events have been moved to the master person # Check the events have been moved to the master person
for key,event in self.events.iteritems(): for key, event in self.events.iteritems():
updatedEvent = models.Event.objects.get(pk=event.pk) updatedEvent = models.Event.objects.get(pk=event.pk)
if event.person == self.persons[3]: # The one we left in place
continue
self.assertEqual(updatedEvent.person, self.persons[1]) self.assertEqual(updatedEvent.person, self.persons[1])
def test_organisation_merge(self): def test_organisation_merge(self):
change_url = reverse('admin:RIGS_organisation_changelist') change_url = reverse('admin:RIGS_organisation_changelist')
data = {'action': 'merge', data = {'action': 'merge',
'_selected_action': [unicode(val.pk) for key,val in self.organisations.iteritems()], '_selected_action': [unicode(self.organisations[1].pk), unicode(self.organisations[2].pk)],
'post':'yes', 'post': 'yes',
'master':self.organisations[1].pk 'master': self.organisations[1].pk
} }
response = self.client.post(change_url, data, follow=True) response = self.client.post(change_url, data, follow=True)
@@ -131,9 +145,13 @@ class TestAdminMergeObjects(TestCase):
# Check the un-needed organisations have been disposed of # Check the un-needed organisations have been disposed of
self.assertRaises(ObjectDoesNotExist, models.Organisation.objects.get, pk=self.organisations[2].pk) self.assertRaises(ObjectDoesNotExist, models.Organisation.objects.get, pk=self.organisations[2].pk)
self.assertRaises(ObjectDoesNotExist, models.Organisation.objects.get, pk=self.organisations[3].pk)
# Check the one we didn't delete is still there
self.assertEqual(models.Organisation.objects.get(pk=self.organisations[3].pk), self.organisations[3])
# Check the events have been moved to the master organisation # Check the events have been moved to the master organisation
for key,event in self.events.iteritems(): for key, event in self.events.iteritems():
updatedEvent = models.Event.objects.get(pk=event.pk) updatedEvent = models.Event.objects.get(pk=event.pk)
if event.organisation == self.organisations[3]: # The one we left in place
continue
self.assertEqual(updatedEvent.organisation, self.organisations[1]) self.assertEqual(updatedEvent.organisation, self.organisations[1])