29 lines
895 B
Python
29 lines
895 B
Python
import pytest
|
|
|
|
from app.services.market_support import decorate_allowed_actions
|
|
|
|
|
|
@pytest.mark.parametrize('status', ['', 'draft', 'active'])
|
|
def test_presign_detail_authorizes_transfer_creation_for_writable_parent(status):
|
|
result = decorate_allowed_actions(
|
|
'presign',
|
|
{'orderStatus': status, 'transfers': []},
|
|
scope_kind='specialist',
|
|
detail=True,
|
|
)
|
|
|
|
assert result['allowedActions'] == ['edit', 'convert', 'delete']
|
|
assert result['transferAllowedActions'] == ['create-transfer']
|
|
|
|
|
|
@pytest.mark.parametrize('status', ['void', 'converted', 'unexpected'])
|
|
def test_presign_detail_denies_transfer_creation_for_locked_parent(status):
|
|
result = decorate_allowed_actions(
|
|
'presign',
|
|
{'orderStatus': status, 'transfers': []},
|
|
scope_kind='manager',
|
|
detail=True,
|
|
)
|
|
|
|
assert result['transferAllowedActions'] == []
|