Files
benchcoach-django/players/tests.py
2021-11-12 14:09:21 -06:00

59 lines
2.1 KiB
Python

from django.test import TestCase, Client
from django.urls import reverse
from .models import Player
FIXTURES = ['blaseball']
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=[1]))
self.assertEqual(response.status_code, 200)
# create 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)
new_player = Player.objects.get(id=response.context['id'])
self.assertEqual(new_player_data['first_name'], new_player.first_name)
self.assertEqual(new_player_data['last_name'], new_player.last_name)
# modify player
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(1, response.context['id'])
modified_player = Player.objects.get(id=response.context['id'])
self.assertEqual(modified_player_data['first_name'], modified_player.first_name)
self.assertEqual(modified_player_data['last_name'], modified_player.last_name)