This commit is contained in:
@@ -3,15 +3,17 @@ import src.models as models
|
||||
from src.main import app
|
||||
from src.auth.auth import get_current_user
|
||||
import tests.factories.contracts as contract_factory
|
||||
import tests.factories.forms as form_factory
|
||||
import tests.factories.contract_products as contract_products_factory
|
||||
|
||||
from fastapi.exceptions import HTTPException
|
||||
|
||||
class TestContracts:
|
||||
def test_get_all(self, client, mocker, mock_session, mock_user):
|
||||
mock_results = [
|
||||
contract_factory.contract_public_factory(name="test 1", id=1),
|
||||
contract_factory.contract_public_factory(name="test 2", id=2),
|
||||
contract_factory.contract_public_factory(name="test 3", id=3),
|
||||
contract_factory.contract_public_factory(id=1),
|
||||
contract_factory.contract_public_factory(id=2),
|
||||
contract_factory.contract_public_factory(id=3),
|
||||
]
|
||||
mock = mocker.patch.object(
|
||||
service,
|
||||
@@ -31,7 +33,7 @@ class TestContracts:
|
||||
)
|
||||
def test_get_all_filters(self, client, mocker, mock_session, mock_user):
|
||||
mock_results = [
|
||||
contract_factory.contract_public_factory(name="test 2", id=2),
|
||||
contract_factory.contract_public_factory(id=2),
|
||||
]
|
||||
mock = mocker.patch.object(
|
||||
service,
|
||||
@@ -65,7 +67,7 @@ class TestContracts:
|
||||
app.dependency_overrides.clear()
|
||||
|
||||
def test_get_one(self, client, mocker, mock_session, mock_user):
|
||||
mock_result = contract_factory.contract_public_factory(name="test 2", id=2)
|
||||
mock_result = contract_factory.contract_public_factory(id=2)
|
||||
|
||||
mock = mocker.patch.object(
|
||||
service,
|
||||
@@ -123,10 +125,42 @@ class TestContracts:
|
||||
app.dependency_overrides.clear()
|
||||
|
||||
def test_create_one(self, client, mocker, mock_session, mock_user):
|
||||
pass
|
||||
contract_body = contract_factory.contract_body_factory(
|
||||
products=[
|
||||
contract_products_factory.contract_product_body_factory(product_id=1),
|
||||
contract_products_factory.contract_product_body_factory(product_id=2),
|
||||
contract_products_factory.contract_product_body_factory(product_id=3)
|
||||
],
|
||||
cheques=[{'name': '123123', 'value': '100'}]
|
||||
)
|
||||
contract_result = contract_factory.contract_factory(
|
||||
products=[
|
||||
contract_products_factory.contract_product_factory(product_id=1),
|
||||
contract_products_factory.contract_product_factory(product_id=2),
|
||||
contract_products_factory.contract_product_factory(product_id=3)
|
||||
],
|
||||
form=form_factory.form_factory(),
|
||||
cheques=[models.Cheque(name='123123', value='100')]
|
||||
)
|
||||
mock_create_one = mocker.patch.object(
|
||||
service,
|
||||
'create_one',
|
||||
return_value=contract_result
|
||||
)
|
||||
mock_add_contract_file = mocker.patch.object(
|
||||
service,
|
||||
'add_contract_file',
|
||||
return_value=True
|
||||
)
|
||||
mock_generate_html_contract = mocker.patch('src.contracts.generate_contract.generate_html_contract')
|
||||
|
||||
response = client.post('/api/contracts', json=contract_body)
|
||||
assert response.status_code == 200
|
||||
contract_id = 'test_test_test type_hiver-2026'
|
||||
assert response.headers['Content-Disposition'] == f'attachment; filename=contract_{contract_id}.pdf'
|
||||
|
||||
def test_delete_one(self, client, mocker, mock_session, mock_user):
|
||||
contract_result = contract_factory.contract_public_factory(name='test contract delete')
|
||||
contract_result = contract_factory.contract_public_factory()
|
||||
|
||||
mock = mocker.patch.object(
|
||||
service,
|
||||
@@ -176,7 +210,7 @@ class TestContracts:
|
||||
def test_delete_one_unauthorized(self, client, mocker, mock_session, mock_user):
|
||||
def unauthorized():
|
||||
raise HTTPException(status_code=401)
|
||||
contract_body = contract_factory.contract_body_factory(name='test contract delete')
|
||||
contract_body = contract_factory.contract_body_factory()
|
||||
|
||||
app.dependency_overrides[get_current_user] = unauthorized
|
||||
|
||||
|
||||
Reference in New Issue
Block a user