added and verified tests

This commit is contained in:
2021-11-12 14:09:21 -06:00
parent c0519f2a88
commit 9bc16353b7
5 changed files with 155 additions and 27 deletions

View File

@@ -2,8 +2,8 @@ from django.test import TestCase, Client
from django.test.utils import setup_test_environment from django.test.utils import setup_test_environment
from django.urls import reverse from django.urls import reverse
from .models import Event from .models import Event
from datetime import datetime
FIXTURES = ['sample_events.yaml', 'sample_teams.yaml'] FIXTURES = ['blaseball']
class TestEventModel(TestCase): class TestEventModel(TestCase):
fixtures = FIXTURES fixtures = FIXTURES
@@ -13,19 +13,68 @@ class TestEventModel(TestCase):
Return the desired event Return the desired event
""" """
event = Event.objects.get(id=1) event = Event.objects.get(id=1)
# self.assertEqual(event.first_name, "Edric") self.assertEqual("Chicago Firefighters", event.away_event.name)
# self.assertEqual(event.last_name, "Tosser") self.assertEqual("Dallas Steaks", event.home_event.name)
# self.assertEqual(event.jersey_number, 1) self.assertEqual('George Fourman Stadium', event.venue.name)
# self.assertEqual(event.team.name, "Chicago Firefighters") self.assertEqual(datetime(
year=2020,
month=8,
day=24,
hour=16,
minute=0,
second=1), event.start)
class TestEventViews(TestCase): class TestEventViews(TestCase):
fixtures = FIXTURES fixtures = FIXTURES
def test_event_list(self): def test_event_list(self):
response = self.client.get(reverse('schedule')) response = self.client.get(reverse('schedule'))
self.assertEqual(response.status_code, 200) self.assertEqual(200, response.status_code)
def test_event_edit(self): def test_event_edit(self):
response = self.client.get(reverse('edit event', args=[2])) response = self.client.get(reverse('edit event', args=[2]))
self.assertEqual(response.status_code, 200) self.assertEqual(200, response.status_code)
# create new event
new_event_data = {
'home_team': 23,
'away_team': 24,
'start':datetime(
year=2021,
month=1,
day=1,
hour=9,
minute=0,
second=0),
'venue':19
}
response = self.client.post(reverse('edit event', args=[0]), data=new_event_data)
self.assertEqual(201, response.status_code)
new_event = Event.objects.get(id=response.context['id'])
self.assertEqual(new_event_data['home_team'], new_event.home_team.id)
self.assertEqual(new_event_data['away_team'], new_event.away_team_id)
self.assertEqual(new_event_data['start'], new_event.start)
# modify event
modified_event_data = {
'home_team': 23,
'away_team': 24,
'start':datetime(
year=2021,
month=1,
day=1,
hour=9,
minute=0,
second=0),
'venue':19
}
response = self.client.post(reverse('edit event', args=[1]), data=modified_event_data)
self.assertEqual(200, response.status_code)
self.assertEqual(1, response.context['id'])
modified_event = Event.objects.get(id=response.context['id'])
self.assertEqual(modified_event_data['home_team'], modified_event.home_team.id)
self.assertEqual(modified_event_data['away_team'], modified_event.away_team.id)
self.assertEqual(modified_event_data['start'], modified_event.start)
self.assertEqual(modified_event_data['venue'], modified_event.venue.id)

View File

@@ -13,10 +13,40 @@ class TestVenueViews(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_positioning_formset(self): def test_positioning_formset(self):
formset = PositioningFormSet({ event = 1
'form-0-id':1,
'form-0-order':0, sample_data = [
'form-0-player':Player.objects.get(id=1), # first player positioning
'form-0-position':'P' (1, Player.objects.get(id=1).id, 'P'),
}) (2, Player.objects.get(id=2).id, 'C'),
(3, Player.objects.get(id=3).id, '1B')
]
data = {}
for i, (order, player, position) in enumerate(sample_data):
data[f'form-{i}-order']=order
data[f'form-{i}-player']=player
data[f'form-{i}-position'] = position
management = {
'form-INITIAL_FORMS': '0',
'form-TOTAL_FORMS': len(sample_data),
'form-MAX_NUM_FORMS': ''
}
formset = PositioningFormSet({**management, **data})
self.assertTrue(formset.is_valid()) self.assertTrue(formset.is_valid())
for form in formset:
self.assertTrue(form.is_valid())
response = self.client.post(reverse('edit lineup', args=[event]), {**management, **data})
self.assertEqual(response.status_code, 200)
for d in sample_data:
with self.subTest(d):
p = Positioning.objects.get(player_id=d[1], event_id=event)
self.assertEqual(d[0], p.order)
self.assertEqual(d[2], p.position)
pass

View File

@@ -1,9 +1,8 @@
from django.test import TestCase, Client from django.test import TestCase, Client
from django.test.utils import setup_test_environment
from django.urls import reverse from django.urls import reverse
from .models import Player from .models import Player
FIXTURES = ['sample_players.yaml', 'sample_teams.yaml'] FIXTURES = ['blaseball']
class TestPlayerModel(TestCase): class TestPlayerModel(TestCase):
fixtures = FIXTURES fixtures = FIXTURES
@@ -30,15 +29,30 @@ class TestPlayerViews(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
# create new player # create new player
response = self.client.post(reverse('edit player', args=[0]), data={'name': "A new player"}) new_player_data = {
'first_name': "A new player first name",
'last_name': "A new player last name",
'jersey_number':99,
'team':1
}
response = self.client.post(reverse('edit player', args=[0]), data=new_player_data)
self.assertEqual(201, response.status_code) self.assertEqual(201, response.status_code)
new_player = Player.objects.get(id=response.context['id']) new_player = Player.objects.get(id=response.context['id'])
self.assertEqual('A new player', new_player.name) self.assertEqual(new_player_data['first_name'], new_player.first_name)
self.assertEqual(new_player_data['last_name'], new_player.last_name)
# modify player # modify player
response = self.client.post(reverse('edit player', args=[1]), data={'name': "A different player name"}) modified_player_data = {
'first_name': "A changed player first name",
'last_name': "A changed player last name",
'jersey_number': 99,
'team': 1
}
response = self.client.post(reverse('edit player', args=[1]), data=modified_player_data)
self.assertEqual(200, response.status_code) self.assertEqual(200, response.status_code)
self.assertEqual(1, response.context['id']) self.assertEqual(1, response.context['id'])
modified_player = Player.objects.get(id=response.context['id']) modified_player = Player.objects.get(id=response.context['id'])
self.assertEqual('A different player name', modified_player.name) self.assertEqual(modified_player_data['first_name'], modified_player.first_name)
self.assertEqual(modified_player_data['last_name'], modified_player.last_name)

View File

@@ -1,3 +1,41 @@
from django.urls import reverse
from django.test import TestCase from django.test import TestCase
from .models import Team
# Create your tests here. # Create your tests here.
class TestTeamModel(TestCase):
fixtures = ['blaseball']
def test_query_team(self):
"""
Return the desired team
"""
team = Team.objects.get(id=1)
self.assertEqual(team.name, "Chesapeake Racetrack and Ballpark")
class TestTeamViews(TestCase):
fixtures = ['blaseball']
def test_team_list(self):
response = self.client.get(reverse('teams list'))
self.assertEqual(response.status_code, 200)
self.assertIn((1, 'Chesapeake Racetrack and Ballpark'), response.context['items'])
self.assertIn((2, 'Tokyo Fitness Center'), response.context['items'])
self.assertIn((25, 'ILB Historical Preservation Site'), response.context['items'])
def test_team_edit(self):
response = self.client.get(reverse('edit team', args=[1]))
self.assertEqual(response.status_code, 200)
#create new team
response = self.client.post(reverse('edit team', args=[0]), data={'name': "A new team"})
self.assertEqual(201, response.status_code)
new_team = Team.objects.get(id=response.context['id'])
self.assertEqual('A new team',new_team.name, )
# modify team
response = self.client.post(reverse('edit team', args=[1]), data={'name': "A different team name"})
self.assertEqual(200, response.status_code)
self.assertEqual(1, response.context['id'])
modified_team = Team.objects.get(id=response.context['id'])
self.assertEqual('A different team name', modified_team.name)

View File

@@ -1,12 +1,9 @@
from django.test import TestCase, Client from django.test import TestCase
from django.test.utils import setup_test_environment
from django.urls import reverse from django.urls import reverse
from .models import Venue from .models import Venue
FIXTURES = ['sample_venues.yaml']
class TestVenueModel(TestCase): class TestVenueModel(TestCase):
fixtures = FIXTURES fixtures = ['blaseball']
def test_query_venue(self): def test_query_venue(self):
""" """
@@ -16,7 +13,7 @@ class TestVenueModel(TestCase):
self.assertEqual(venue.name, "Chesapeake Racetrack and Ballpark") self.assertEqual(venue.name, "Chesapeake Racetrack and Ballpark")
class TestVenueViews(TestCase): class TestVenueViews(TestCase):
fixtures = FIXTURES fixtures = ['blaseball']
def test_venue_list(self): def test_venue_list(self):
response = self.client.get(reverse('venues list')) response = self.client.get(reverse('venues list'))