charasheet/src/party/tests/test_models.py

30 lines
1.2 KiB
Python

from model_bakery import baker
from character.models import Character
from common.models import User
from party.models import Party
def test_party_managed_by(db):
game_master = User.objects.create_user("game_master")
other_user = User.objects.create_user("other")
expected = Party.objects.create(name="some name", game_master=game_master)
Party.objects.create(name="some other name", game_master=other_user)
related_to = Party.objects.managed_by(game_master)
assert len(related_to) == 1
assert related_to[0] == expected
def test_party_played_by(db):
player = User.objects.create_user("game_master")
player_character = baker.make(Character, player=player)
other_user = User.objects.create_user("other")
other_character = baker.make(Character, player=other_user)
expected = Party.objects.create(name="some name", game_master=other_user)
expected.characters.add(player_character)
other_party = Party.objects.create(name="some other name", game_master=other_user)
other_party.characters.add(other_character)
related_to = Party.objects.played_by(player)
assert len(related_to) == 1
assert related_to[0] == expected