53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
|
|
import lxml.html
|
||
|
|
|
||
|
|
from django.test import TestCase
|
||
|
|
|
||
|
|
from apps.lyric.models import User
|
||
|
|
|
||
|
|
|
||
|
|
class GameboardViewTest(TestCase):
|
||
|
|
def setUp(self):
|
||
|
|
self.user = User.objects.create(email="capman@test.io")
|
||
|
|
self.client.force_login(self.user)
|
||
|
|
response = self.client.get("/gameboard/")
|
||
|
|
self.parsed = lxml.html.fromstring(response.content)
|
||
|
|
|
||
|
|
def test_gameboard_requires_login(self):
|
||
|
|
self.client.logout()
|
||
|
|
response = self.client.get("/gameboard/")
|
||
|
|
self.assertRedirects(
|
||
|
|
response, "/?next=/gameboard/", fetch_redirect_response=False
|
||
|
|
)
|
||
|
|
|
||
|
|
def test_gameboard_renders(self):
|
||
|
|
response = self.client.get("/gameboard/")
|
||
|
|
self.assertEqual(response.status_code, 200)
|
||
|
|
|
||
|
|
def test_gameboard_shows_my_games_applet(self):
|
||
|
|
[_] = self.parsed.cssselect("#id_applet_my_games")
|
||
|
|
|
||
|
|
def test_gameboard_shows_new_game_applet(self):
|
||
|
|
[_] = self.parsed.cssselect("#id_applet_new_game")
|
||
|
|
|
||
|
|
def test_gameboard_shows_game_kit_btn(self):
|
||
|
|
[_] = self.parsed.cssselect("#id_game_kit_btn")
|
||
|
|
|
||
|
|
def test_gameboard_shows_game_gear(self):
|
||
|
|
[_] = self.parsed.cssselect("#id_game_gear")
|
||
|
|
|
||
|
|
def test_my_games_has_no_game_items_for_new_user(self):
|
||
|
|
game_items = self.parsed.cssselect("#id_applet_my_games .game-item")
|
||
|
|
self.assertEqual(len(game_items), 0)
|
||
|
|
|
||
|
|
def test_game_kit_has_coin_on_a_string(self):
|
||
|
|
[_] = self.parsed.cssselect("#id_game_kit #id_kit_coin_on_a_string")
|
||
|
|
|
||
|
|
def test_game_kit_has_free_token(self):
|
||
|
|
[_] = self.parsed.cssselect("#id_game_kit #id_kit_free_token_0")
|
||
|
|
|
||
|
|
def test_game_kit_has_card_deck_placeholder(self):
|
||
|
|
[_] = self.parsed.cssselect("#id_game_kit #id_kit_card_deck")
|
||
|
|
|
||
|
|
def test_game_kit_has_dice_set_placeholder(self):
|
||
|
|
[_] = self.parsed.cssselect("#id_game_kit #id_kit_dice_set")
|