Skip to content

Commit 178742b

Browse files
committed
Move All Test Data To Functional Test
All test data concerning the provision of data to serve the functional tests have been moved to the functional test. As it improves readability. All other test data at test_views.py was reset to accommodate for the reduction in number of test data instances.
1 parent e3125d9 commit 178742b

File tree

2 files changed

+42
-34
lines changed

2 files changed

+42
-34
lines changed
Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,38 @@
1-
from django.test import LiveServerTestCase, TestCase
1+
import datetime
2+
3+
from django.contrib.auth import get_user_model
4+
from django.test import LiveServerTestCase
25
from django.utils import timezone
36
from selenium.common.exceptions import WebDriverException
47
from selenium.webdriver import Chrome
58

6-
from .test_views import EventsViewsTests
7-
from ..models import Event
9+
from ..models import Event, OccurringRule, Calendar
810

911

10-
class EventsPageFunctionalTests(LiveServerTestCase, TestCase):
12+
class EventsPageFunctionalTests(LiveServerTestCase):
1113
@classmethod
1214
def setUpClass(cls):
13-
EventsViewsTests().setUpTestData()
14-
super().setUpClass()
1515
cls.now = timezone.now()
16+
cls.user = get_user_model().objects.create_user(username='username', password='password')
17+
cls.calendar = Calendar.objects.create(creator=cls.user, slug="test-calendar-2")
18+
cls.event_future_start_following_year = Event.objects.create(title='Event Starts Following Year',
19+
creator=cls.user, calendar=cls.calendar)
20+
cls.event_future_end_following_year = Event.objects.create(title='Event Ends Following Year',
21+
creator=cls.user, calendar=cls.calendar)
22+
recurring_time_dtstart = cls.now + datetime.timedelta(days=3)
23+
recurring_time_dtend = recurring_time_dtstart + datetime.timedelta(days=5)
24+
25+
cls.rule_future_start_year = OccurringRule.objects.create(
26+
event=cls.event_future_start_following_year,
27+
dt_start=recurring_time_dtstart + datetime.timedelta(weeks=52),
28+
dt_end=recurring_time_dtstart + datetime.timedelta(weeks=53),
29+
)
30+
cls.rule_future_end_year = OccurringRule.objects.create(
31+
event=cls.event_future_end_following_year,
32+
dt_start=recurring_time_dtstart,
33+
dt_end=recurring_time_dtend + datetime.timedelta(weeks=52)
34+
)
35+
super(EventsPageFunctionalTests, cls).setUpClass()
1636

1737
def setUp(self) -> None:
1838
try:
@@ -25,17 +45,18 @@ def setUp(self) -> None:
2545
webdriver.Firefox(options=self.browser)
2646

2747
def tearDown(self) -> None:
28-
self.browser.quit()
48+
super().tearDown()
49+
try:
50+
self.browser.quit()
51+
except Exception:
52+
pass
2953

30-
def test_event_starting_future_year_displays_year(self):
31-
event = Event.objects.get(title=f"Event Starts Following Year")
54+
def test_event_starting_and_ending_future_year_displays_year(self):
55+
event = self.event_future_start_following_year
3256
self.browser.get(self.live_server_url + '/events/')
3357
future_event_span_value = self.browser.find_element_by_id(str(event.id))
3458
self.assertIn(str(event.next_time.dt_start.year), future_event_span_value.text)
3559

36-
def test_event_ending_future_year_displays_year(self):
37-
event = Event.objects.get(title=f"Event Ends Following Year")
38-
self.browser.get(self.live_server_url + '/events/')
39-
future_event_span_value = self.browser.find_element_by_id(str(event.id))
40-
self.assertIn(str(event.next_time.dt_end.year), future_event_span_value.text)
41-
60+
event_2 = Event.objects.get(title="Event Ends Following Year")
61+
future_event_span_value = self.browser.find_element_by_id(str(event_2.id))
62+
self.assertIn(str(event_2.next_time.dt_end.year), future_event_span_value.text)

events/tests/test_views.py

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ def setUpTestData(cls):
1919
cls.event = Event.objects.create(creator=cls.user, calendar=cls.calendar)
2020
cls.event_past = Event.objects.create(title='Past Event', creator=cls.user, calendar=cls.calendar)
2121
cls.event_single_day = Event.objects.create(title="Single Day Event", creator=cls.user, calendar=cls.calendar)
22-
cls.event_future_start_following_year = Event.objects.create(title='Event Starts Following Year',
23-
creator=cls.user, calendar=cls.calendar)
24-
cls.event_future_end_following_year = Event.objects.create(title='Event Ends Following Year',
25-
creator=cls.user, calendar=cls.calendar)
2622

2723
cls.now = timezone.now()
2824

@@ -44,21 +40,12 @@ def setUpTestData(cls):
4440
dt_start=recurring_time_dtstart,
4541
dt_end=recurring_time_dtstart
4642
)
47-
cls.rule_future_start_year = OccurringRule.objects.create(
48-
event=cls.event_future_start_following_year,
49-
dt_start=recurring_time_dtstart + datetime.timedelta(weeks=52),
50-
dt_end=recurring_time_dtstart + datetime.timedelta(weeks=53),
51-
)
52-
cls.rule_future_end_year = OccurringRule.objects.create(
53-
event=cls.event_future_end_following_year,
54-
dt_start=recurring_time_dtstart,
55-
dt_end=recurring_time_dtend + datetime.timedelta(weeks=52)
56-
)
43+
5744
def test_events_homepage(self):
5845
url = reverse('events:events')
5946
response = self.client.get(url)
6047
self.assertEqual(response.status_code, 200)
61-
self.assertEqual(len(response.context['object_list']), 4)
48+
self.assertEqual(len(response.context['object_list']), 2)
6249
self.assertIn(Event.objects.last().title, response.content.decode())
6350

6451
def test_calendar_list(self):
@@ -74,7 +61,7 @@ def test_event_list(self):
7461
response = self.client.get(url)
7562

7663
self.assertEqual(response.status_code, 200)
77-
self.assertEqual(len(response.context['object_list']), 4)
64+
self.assertEqual(len(response.context['object_list']), 2)
7865

7966
url = reverse('events:event_list_past', kwargs={"calendar_slug": 'unexisting'})
8067
response = self.client.get(url)
@@ -134,7 +121,7 @@ def test_event_list_date(self):
134121
response = self.client.get(url)
135122
self.assertEqual(response.status_code, 200)
136123
self.assertEqual(response.context['object'], dt.date())
137-
self.assertEqual(len(response.context['object_list']), 5)
124+
self.assertEqual(len(response.context['object_list']), 3)
138125

139126
def test_eventlocation_list(self):
140127
venue = EventLocation.objects.create(
@@ -170,12 +157,12 @@ def test_event_detail(self):
170157
self.assertEqual(self.event, response.context['object'])
171158

172159
def test_upcoming_tag(self):
173-
self.assertEqual(len(get_events_upcoming()), 4)
160+
self.assertEqual(len(get_events_upcoming()), 2)
174161
self.assertEqual(len(get_events_upcoming(only_featured=True)), 0)
175162
self.rule.begin = self.now - datetime.timedelta(days=3)
176163
self.rule.finish = self.now - datetime.timedelta(days=2)
177164
self.rule.save()
178-
self.assertEqual(len(get_events_upcoming()), 3)
165+
self.assertEqual(len(get_events_upcoming()), 1)
179166

180167

181168
class EventSubmitTests(TestCase):

0 commit comments

Comments
 (0)