From 0a8890153d9bd35292ffae79efabe5e322c6859f Mon Sep 17 00:00:00 2001 From: Tony Date: Wed, 10 Nov 2021 15:33:20 -0600 Subject: [PATCH] Started tests --- events/tests.py | 129 +++++++++-------------------------------------- players/tests.py | 32 +++++++++++- venues/tests.py | 41 ++++++++++++++- 3 files changed, 93 insertions(+), 109 deletions(-) diff --git a/events/tests.py b/events/tests.py index 4ed33df..d53b3b8 100644 --- a/events/tests.py +++ b/events/tests.py @@ -1,112 +1,31 @@ -from django.test import TestCase -from events.models import Player, Event, Availability, Team, Positioning -import datetime -import pytz -# Create your tests here. +from django.test import TestCase, Client +from django.test.utils import setup_test_environment +from django.urls import reverse +from .models import Event -class BenchcoachTestCase(TestCase): - def setUp(self): - for first_name, last_name, jersey_number in [ - ("Rush", "Valenzuela", 1), - ("Baby", "Triumphant", 2) - ]: - Player.objects.create(first_name=first_name, last_name=last_name, jersey_number=jersey_number) +FIXTURES = ['sample_events.yaml', 'sample_teams.yaml'] - for name in ["Firefighters", "Garages"]: - Team.objects.create(name=name) +class TestEventModel(TestCase): + fixtures = FIXTURES - for start, home_team_id, away_team_id in [ - (datetime.datetime(2020, 1, 2, 12, 0), 1, 2), # id = 1 - (datetime.datetime(2020, 1, 3, 12, 0), 2, 1), # id = 2 - (datetime.datetime(2020, 1, 4, 12, 0), 2, 1) # id = 3 - ]: - Event.objects.create(start=start, home_team_id=home_team_id, away_team_id=away_team_id) + def test_query_event(self): + """ + Return the desired event + """ + event = Event.objects.get(id=1) + # self.assertEqual(event.first_name, "Edric") + # self.assertEqual(event.last_name, "Tosser") + # self.assertEqual(event.jersey_number, 1) + # self.assertEqual(event.team.name, "Chicago Firefighters") - for event_id in [ - 1 - ]: - for player_id, available in [ - (1,"Yes"), - (2,"No") - ]: - Availability.objects.create(event_id=event_id, player_id=player_id, available=available) +class TestEventViews(TestCase): + fixtures = FIXTURES - for event_id in [ - 1 - ]: - for player_id, position in [ - (1, "C"), - (2, "1B") - ]: - Positioning.objects.create(event_id=event_id, player_id=player_id, position=position) + def test_event_list(self): + response = self.client.get(reverse('schedule')) + self.assertEqual(response.status_code, 200) - for event_id in [ - 2 - ]: - for player_id, available in [ - (1,"Yes"), - (2,"Yes") - ]: - Availability.objects.create(event_id=event_id, player_id=player_id, available=available) + def test_event_edit(self): + response = self.client.get(reverse('edit event', args=[2])) + self.assertEqual(response.status_code, 200) - for event_id in [ - 3 - ]: - for player_id, available in [ - (1,"No"), - (2,"No") - ]: - Availability.objects.create(event_id=event_id, player_id=player_id, available=available) - pass - - - def test_player(self): - """Test that player works""" - player_1 = Player.objects.get(first_name="Rush") - player_2 = Player.objects.get(first_name="Baby") - self.assertEqual(str(player_1), f"Valenzuela, Rush") - self.assertEqual(str(player_2), f"Triumphant, Baby") - pass - - def test_event(self): - event = Event.objects.get(pk=1) - self.assertEqual(event.start.year, 2020) - self.assertEqual(event.start.month, 1) - self.assertEqual(event.start.day, 2) - self.assertEqual(event.start.hour, 12) - self.assertEqual(event.start.minute, 0) - self.assertEqual(event.home_team.name, "Firefighters") - self.assertEqual(event.away_team.name, "Garages") - - def test_availability(self): - availability_1 = Availability.objects.get(event_id=1, player_id=1) - availability_2 = Availability.objects.get(event_id=1, player_id=2) - - self.assertEqual(availability_1.available, "Yes") - self.assertEqual(availability_2.available, "No") - pass - - def test_positioning(self): - positioning_1 = Positioning.objects.get(event_id=1, player_id=1) - positioning_2 = Positioning.objects.get(event_id=1, player_id=2) - # positing_1 - pass - - def test_combine_info(self): - event = Event.objects.get(pk=1) - event_id = 1 - player_query = Player.objects.all() - positioning_query = Positioning.objects.filter(event=event).select_related('player') - availability_query = Availability.objects.filter(event=event).select_related('player') - player_event_info = [] - - for player in player_query: - player_event_info.append( - { - "player":player, - "positioning":positioning_query.get(player_id=player.id), - "availability":availability_query.get(player_id=player.id) - } - ) - - pass diff --git a/players/tests.py b/players/tests.py index 7ce503c..df6dae8 100644 --- a/players/tests.py +++ b/players/tests.py @@ -1,3 +1,31 @@ -from django.test import TestCase +from django.test import TestCase, Client +from django.test.utils import setup_test_environment +from django.urls import reverse +from .models import Player + +FIXTURES = ['sample_players.yaml', 'sample_teams.yaml'] + +class TestPlayerModel(TestCase): + fixtures = FIXTURES + + def test_query_player(self): + """ + Return the desired player + """ + player = Player.objects.get(id=1) + self.assertEqual(player.first_name, "Edric") + self.assertEqual(player.last_name, "Tosser") + self.assertEqual(player.jersey_number, 1) + self.assertEqual(player.team.name, "Chicago Firefighters") + +class TestPlayerViews(TestCase): + fixtures = FIXTURES + + def test_player_list(self): + response = self.client.get(reverse('players list')) + self.assertEqual(response.status_code, 200) + + def test_player_edit(self): + response = self.client.get(reverse('edit player', args=[2])) + self.assertEqual(response.status_code, 200) -# Create your tests here. diff --git a/venues/tests.py b/venues/tests.py index 7ce503c..365d675 100644 --- a/venues/tests.py +++ b/venues/tests.py @@ -1,3 +1,40 @@ -from django.test import TestCase +from django.test import TestCase, Client +from django.test.utils import setup_test_environment +from django.urls import reverse +from .models import Venue -# Create your tests here. +FIXTURES = ['sample_venues.yaml'] + +class TestVenueModel(TestCase): + fixtures = FIXTURES + + def test_query_venue(self): + """ + Return the desired venue + """ + venue = Venue.objects.get(id=1) + self.assertEqual(venue.name, "Chesapeake Racetrack and Ballpark") + +class TestVenueViews(TestCase): + fixtures = FIXTURES + + def test_venue_list(self): + response = self.client.get(reverse('venues list')) + self.assertEqual(response.status_code, 200) + + def test_venue_edit(self): + response = self.client.get(reverse('edit venue', args=[1])) + self.assertEqual(response.status_code, 200) + + #create new venue + response = self.client.post(reverse('edit venue', args=[0]), data={'name': "A new venue"}) + self.assertEqual(201, response.status_code) + new_venue = Venue.objects.get(id=response.context['id']) + self.assertEqual('A new venue',new_venue.name, ) + + # modify venue + response = self.client.post(reverse('edit venue', args=[1]), data={'name': "A different venue name"}) + self.assertEqual(200, response.status_code) + self.assertEqual(1, response.context['id']) + modified_venue = Venue.objects.get(id=response.context['id']) + self.assertEqual('A different venue name', modified_venue.name) \ No newline at end of file