gammatools/tests/test_functions/test_roll_dices.py

39 lines
1009 B
Python

import pytest
from app.functions.roll_dices import roll_dices
from unittest.mock import patch
@patch('random.randint')
def test_roll_dices_no_discard(mock_randint):
# mocks
mock_randint.return_value = 4
# Test with discard_lowest = False
result = roll_dices(4, 6, False)
assert 'dice-set' in result
assert 'rolls' in result
assert 'result' in result
assert len(result['rolls']) == 4
assert 'discarded' not in result
mnemonic = result['dice-set']['mnemonic']
assert mnemonic == '4d6'
@patch('random.randint')
def test_roll_dices_with_discard(mock_randint):
# mocks
mock_randint.return_value = 4
# Test with discard_lowest = True
result = roll_dices(4, 6, True)
assert 'dice-set' in result
assert 'rolls' in result
assert 'result' in result
assert len(result['rolls']) == 3
assert 'discarded' in result
assert len(result['discarded']) == 1
mnemonic = result['dice-set']['mnemonic']
assert mnemonic == '4(-1)d6'