59 lines
2.1 KiB
Python
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)
|
|
|