gammatools/tests/test_functions/test_generate_profile.py

31 lines
1.2 KiB
Python
Raw Normal View History

import pytest
from unittest.mock import patch
from app.functions.generate_profile import generate_profile
@patch('app.functions.generate_profile.get_sex', return_value='male')
@patch('app.functions.generate_profile.get_age', return_value=30)
@patch('app.functions.generate_profile.get_hair', return_value='black')
@patch('app.functions.generate_profile.get_eyes', return_value='blue')
@patch('app.functions.generate_profile.get_skin_tone', return_value='dark')
@pytest.mark.parametrize("chartype", ["human", "humanoid", "mutant", "cyborg"])
def test_generate_profile(
mock_get_skin_tone, mock_get_eyes, mock_get_hair, mock_get_age, mock_get_sex, chartype):
profile = generate_profile(chartype)
# Assertions common to all character types
assert profile["name"] == 'Anon'
assert profile["sex"] == 'male'
assert profile["age"] == 30
# Additional assertions for 'human' character type
if chartype == 'human':
assert profile["hair"] == 'black'
assert profile["eyes"] == 'blue'
assert profile["skintone"] == 'dark'
else:
# 'hair', 'eyes' and 'skintone' should not exist for non-human types
assert "hair" not in profile
assert "eyes" not in profile
assert "skintone" not in profile