From 2bebde1ebe55eed0e8310473dc730341aed89e42 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 7 Jul 2016 12:41:27 +0000 Subject: [PATCH] Added a test for the floorplan view. - Legacy-Id: 11545 --- ietf/meeting/factories.py | 18 +++++++++++++++++- ietf/meeting/test_data.py | 2 +- ietf/meeting/tests_views.py | 20 +++++++++++++++++++- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/ietf/meeting/factories.py b/ietf/meeting/factories.py index 5e33df5cb..ebff3a6c3 100644 --- a/ietf/meeting/factories.py +++ b/ietf/meeting/factories.py @@ -3,8 +3,9 @@ import random import datetime from django.db.models import Max +from django.core.files.base import ContentFile -from ietf.meeting.models import Meeting, Session, Schedule, TimeSlot, SessionPresentation +from ietf.meeting.models import Meeting, Session, Schedule, TimeSlot, SessionPresentation, FloorPlan from ietf.group.factories import GroupFactory from ietf.person.factories import PersonFactory @@ -106,3 +107,18 @@ class SessionPresentationFactory(factory.DjangoModelFactory): def rev(self): return self.document.rev +class FloorPlanFactory(factory.DjangoModelFactory): + class Meta: + model = FloorPlan + + name = factory.Sequence(lambda n: u'Venue Floor %d' % n) + meeting = factory.SubFactory(MeetingFactory) + order = factory.Sequence(lambda n: n) + image = factory.LazyAttribute( + lambda _: ContentFile( + factory.django.ImageField()._make_data( + {'width': 1024, 'height': 768} + ), 'floorplan.jpg' + ) + ) + diff --git a/ietf/meeting/test_data.py b/ietf/meeting/test_data.py index b5ed80574..5475900c6 100644 --- a/ietf/meeting/test_data.py +++ b/ietf/meeting/test_data.py @@ -40,7 +40,7 @@ def make_meeting_test_data(): unofficial_schedule = Schedule.objects.create(meeting=meeting, owner=plainman, name="test-unofficial-agenda", visible=True, public=True) pname = RoomResourceName.objects.create(name='projector',slug='proj') projector = ResourceAssociation.objects.create(name=pname,icon="notfound.png",desc="Basic projector") - room = Room.objects.create(meeting=meeting, name="Test Room", capacity=123) + room = Room.objects.create(meeting=meeting, name="Test Room", capacity=123, functional_name="Testing Ground") breakfast_room = Room.objects.create(meeting=meeting, name="Breakfast Room", capacity=40) room.session_types.add("session") breakfast_room.session_types.add("lead") diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 1fe43fecc..d2eedfbbf 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -26,7 +26,8 @@ from ietf.utils.mail import outbox from ietf.person.factories import PersonFactory from ietf.group.factories import GroupFactory -from ietf.meeting.factories import SessionFactory, SessionPresentationFactory, ScheduleFactory, MeetingFactory +from ietf.meeting.factories import ( SessionFactory, SessionPresentationFactory, ScheduleFactory, + MeetingFactory, FloorPlanFactory ) from ietf.doc.factories import DocumentFactory class MeetingTests(TestCase): @@ -1092,3 +1093,20 @@ class AjaxTests(TestCase): self.assertTrue('utc' in data) self.assertTrue('error' not in data) self.assertEqual(data['utc'], '20:00') + +class FloorPlanTests(TestCase): + def setUp(self): + pass + + def tearDown(self): + pass + + def test_floor_plan_page(self): + make_meeting_test_data() + meeting = Meeting.objects.filter(type_id='ietf').order_by('id').last() + FloorPlanFactory.create(meeting=meeting) + + url = urlreverse('ietf.meeting.views.floor_plan') + r = self.client.get(url) + self.assertEqual(r.status_code, 200) +