Compare commits
2 Commits
b4b4fa7643
...
feature/ex
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e970bb683a | ||
|
|
c27c7598b5 |
@@ -203,7 +203,7 @@ def get_contract_files(
|
|||||||
user: models.User = Depends(get_current_user)
|
user: models.User = Depends(get_current_user)
|
||||||
):
|
):
|
||||||
"""Get all contract files for a given form"""
|
"""Get all contract files for a given form"""
|
||||||
if not form_service.is_allowed(session, user, form_id):
|
if not service.is_allowed(session, user, form_id):
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=403,
|
status_code=403,
|
||||||
detail=messages.Messages.not_allowed('contracts', 'get')
|
detail=messages.Messages.not_allowed('contracts', 'get')
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ def create_row_style_height(size: str) -> odfdo.Style:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def create_currency_style(name:str = 'currency-euro'):
|
def create_currency_style(name: str = 'currency-euro'):
|
||||||
"""Create a table currency style.
|
"""Create a table currency style.
|
||||||
Paramenters:
|
Paramenters:
|
||||||
name(str): name of the style (default to `currency-euro`).
|
name(str): name of the style (default to `currency-euro`).
|
||||||
@@ -129,6 +129,7 @@ def create_currency_style(name:str = 'currency-euro'):
|
|||||||
</number:currency-style>"""
|
</number:currency-style>"""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def create_cell_style(
|
def create_cell_style(
|
||||||
name: str = "centered-cell",
|
name: str = "centered-cell",
|
||||||
font_size: str = '10pt',
|
font_size: str = '10pt',
|
||||||
@@ -389,7 +390,7 @@ def merge_shipment_cells(
|
|||||||
recurrents: list[str],
|
recurrents: list[str],
|
||||||
occasionnals: list[str],
|
occasionnals: list[str],
|
||||||
shipments: list[models.Shipment]
|
shipments: list[models.Shipment]
|
||||||
):
|
):
|
||||||
"""Merge cells for shipment header.
|
"""Merge cells for shipment header.
|
||||||
"""
|
"""
|
||||||
index = len(prefix_header) + len(recurrents) + 1
|
index = len(prefix_header) + len(recurrents) + 1
|
||||||
@@ -399,6 +400,7 @@ def merge_shipment_cells(
|
|||||||
sheet.set_span((startcol, 0, endcol, 0), merge=True)
|
sheet.set_span((startcol, 0, endcol, 0), merge=True)
|
||||||
index += len(occasionnals)
|
index += len(occasionnals)
|
||||||
|
|
||||||
|
|
||||||
def generate_recap(
|
def generate_recap(
|
||||||
contracts: list[models.Contract],
|
contracts: list[models.Contract],
|
||||||
form: models.Form,
|
form: models.Form,
|
||||||
@@ -468,7 +470,7 @@ def generate_recap(
|
|||||||
len(info_header)+len(payment_formula_letters)+len(recurrents) + 1
|
len(info_header)+len(payment_formula_letters)+len(recurrents) + 1
|
||||||
]
|
]
|
||||||
occasionnals_formula_letters = letters[
|
occasionnals_formula_letters = letters[
|
||||||
len(info_header)+len(payment_formula_letters)+
|
len(info_header)+len(payment_formula_letters) +
|
||||||
len(recurent_formula_letters):
|
len(recurent_formula_letters):
|
||||||
len(info_header)+len(payment_formula_letters) +
|
len(info_header)+len(payment_formula_letters) +
|
||||||
len(recurent_formula_letters)+len(occasionnals_header) + 1
|
len(recurent_formula_letters)+len(occasionnals_header) + 1
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ from src.auth.auth import get_current_user
|
|||||||
from src.database import get_session
|
from src.database import get_session
|
||||||
from src.main import app
|
from src.main import app
|
||||||
|
|
||||||
|
from .fixtures import *
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def mock_session(mocker):
|
def mock_session(mocker):
|
||||||
|
|||||||
@@ -17,19 +17,19 @@ from src import models
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def productor(session: Session) -> models.ProductorPublic:
|
def productor(session: Session) -> models.ProductorPublic:
|
||||||
productor = productors_service.create_one(
|
result = productors_service.create_one(
|
||||||
session,
|
session,
|
||||||
productors_factory.productor_create_factory(
|
productors_factory.productor_create_factory(
|
||||||
name='test productor',
|
name='test productor',
|
||||||
type='Légumineuses',
|
type='Légumineuses',
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
return productor
|
return result
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def productors(session: Session) -> models.ProductorPublic:
|
def productors(session: Session) -> models.ProductorPublic:
|
||||||
productors = [
|
result = [
|
||||||
productors_service.create_one(
|
productors_service.create_one(
|
||||||
session,
|
session,
|
||||||
productors_factory.productor_create_factory(
|
productors_factory.productor_create_factory(
|
||||||
@@ -45,13 +45,15 @@ def productors(session: Session) -> models.ProductorPublic:
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
return productors
|
return result
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def products(session: Session,
|
def products(
|
||||||
productor: models.ProductorPublic) -> list[models.ProductPublic]:
|
session: Session,
|
||||||
products = [
|
productor: models.ProductorPublic
|
||||||
|
) -> list[models.ProductPublic]:
|
||||||
|
result = [
|
||||||
products_service.create_one(
|
products_service.create_one(
|
||||||
session,
|
session,
|
||||||
products_factory.product_create_factory(
|
products_factory.product_create_factory(
|
||||||
@@ -69,7 +71,7 @@ def products(session: Session,
|
|||||||
)
|
)
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
return products
|
return result
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
@@ -87,7 +89,7 @@ def user(session: Session) -> models.UserPublic:
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def users(session: Session) -> list[models.UserPublic]:
|
def users(session: Session) -> list[models.UserPublic]:
|
||||||
users = [
|
result = [
|
||||||
users_service.create_one(
|
users_service.create_one(
|
||||||
session,
|
session,
|
||||||
users_factory.user_create_factory(
|
users_factory.user_create_factory(
|
||||||
@@ -112,12 +114,12 @@ def users(session: Session) -> list[models.UserPublic]:
|
|||||||
name='test user 3',
|
name='test user 3',
|
||||||
email='test3@test.com',
|
email='test3@test.com',
|
||||||
role_names=['Porc-Agneau']))]
|
role_names=['Porc-Agneau']))]
|
||||||
return users
|
return result
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def referer(session: Session) -> models.UserPublic:
|
def referer(session: Session) -> models.UserPublic:
|
||||||
referer = users_service.create_one(
|
result = users_service.create_one(
|
||||||
session,
|
session,
|
||||||
users_factory.user_create_factory(
|
users_factory.user_create_factory(
|
||||||
name='test referer',
|
name='test referer',
|
||||||
@@ -125,14 +127,16 @@ def referer(session: Session) -> models.UserPublic:
|
|||||||
role_names=['Légumineuses'],
|
role_names=['Légumineuses'],
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
return referer
|
return result
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def shipments(session: Session,
|
def shipments(
|
||||||
|
session: Session,
|
||||||
forms: list[models.FormPublic],
|
forms: list[models.FormPublic],
|
||||||
products: list[models.ProductPublic]):
|
products: list[models.ProductPublic]
|
||||||
shipments = [
|
):
|
||||||
|
result = [
|
||||||
shipments_service.create_one(
|
shipments_service.create_one(
|
||||||
session,
|
session,
|
||||||
shipments_factory.shipment_create_factory(
|
shipments_factory.shipment_create_factory(
|
||||||
@@ -152,7 +156,7 @@ def shipments(session: Session,
|
|||||||
)
|
)
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
return shipments
|
return result
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
@@ -161,7 +165,7 @@ def forms(
|
|||||||
productor: models.ProductorPublic,
|
productor: models.ProductorPublic,
|
||||||
referer: models.UserPublic
|
referer: models.UserPublic
|
||||||
) -> list[models.FormPublic]:
|
) -> list[models.FormPublic]:
|
||||||
forms = [
|
result = [
|
||||||
forms_service.create_one(
|
forms_service.create_one(
|
||||||
session,
|
session,
|
||||||
forms_factory.form_create_factory(
|
forms_factory.form_create_factory(
|
||||||
@@ -181,4 +185,4 @@ def forms(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
return forms
|
return result
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ class TestContracts:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock_result = contract_factory.contract_public_factory(id=2)
|
mock_result = contract_factory.contract_public_factory(id=2)
|
||||||
|
|
||||||
@@ -93,7 +94,7 @@ class TestContracts:
|
|||||||
'get_one',
|
'get_one',
|
||||||
return_value=mock_result
|
return_value=mock_result
|
||||||
)
|
)
|
||||||
mocker.patch.object(
|
mock_is_allowed = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
@@ -107,12 +108,18 @@ class TestContracts:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
2
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_notfound(
|
def test_get_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock_result = None
|
mock_result = None
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
@@ -120,18 +127,23 @@ class TestContracts:
|
|||||||
'get_one',
|
'get_one',
|
||||||
return_value=mock_result
|
return_value=mock_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
mocker.patch.object(
|
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
)
|
)
|
||||||
|
|
||||||
response = client.get('/api/contracts/2')
|
response = client.get('/api/contracts/2')
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
mock.assert_called_once_with(
|
mock.assert_called_once_with(
|
||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
2
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_unauthorized(
|
def test_get_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -156,6 +168,7 @@ class TestContracts:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
contract_result = contract_factory.contract_public_factory()
|
contract_result = contract_factory.contract_public_factory()
|
||||||
|
|
||||||
@@ -164,8 +177,7 @@ class TestContracts:
|
|||||||
'delete_one',
|
'delete_one',
|
||||||
return_value=contract_result
|
return_value=contract_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
mocker.patch.object(
|
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
@@ -178,12 +190,18 @@ class TestContracts:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_notfound(
|
def test_delete_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
contract_result = None
|
contract_result = None
|
||||||
|
|
||||||
@@ -192,8 +210,7 @@ class TestContracts:
|
|||||||
'delete_one',
|
'delete_one',
|
||||||
return_value=contract_result
|
return_value=contract_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
mocker.patch.object(
|
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
@@ -206,6 +223,11 @@ class TestContracts:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_unauthorized(
|
def test_delete_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ class TestForms:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock_result = form_factory.form_public_factory(name="test 2", id=2)
|
mock_result = form_factory.form_public_factory(name="test 2", id=2)
|
||||||
|
|
||||||
@@ -100,7 +101,6 @@ class TestForms:
|
|||||||
'get_one',
|
'get_one',
|
||||||
return_value=mock_result
|
return_value=mock_result
|
||||||
)
|
)
|
||||||
|
|
||||||
response = client.get('/api/forms/2')
|
response = client.get('/api/forms/2')
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
|
|
||||||
@@ -110,6 +110,7 @@ class TestForms:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
assert mock_user
|
||||||
|
|
||||||
def test_get_one_notfound(
|
def test_get_one_notfound(
|
||||||
self,
|
self,
|
||||||
@@ -135,6 +136,7 @@ class TestForms:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
form_body = form_factory.form_body_factory(name='test form create')
|
form_body = form_factory.form_body_factory(name='test form create')
|
||||||
form_create = form_factory.form_create_factory(name='test form create')
|
form_create = form_factory.form_create_factory(name='test form create')
|
||||||
@@ -145,6 +147,11 @@ class TestForms:
|
|||||||
'create_one',
|
'create_one',
|
||||||
return_value=form_result
|
return_value=form_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.post('/api/forms', json=form_body)
|
response = client.post('/api/forms', json=form_body)
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -155,43 +162,76 @@ class TestForms:
|
|||||||
mock_session,
|
mock_session,
|
||||||
form_create
|
form_create
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
form=form_create
|
||||||
|
)
|
||||||
|
|
||||||
def test_create_one_referer_notfound(
|
def test_create_one_referer_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
form_body = form_factory.form_body_factory(
|
form_body = form_factory.form_body_factory(
|
||||||
name='test form create', referer_id=12312)
|
name='test form create', referer_id=12312
|
||||||
|
)
|
||||||
form_create = form_factory.form_create_factory(
|
form_create = form_factory.form_create_factory(
|
||||||
name='test form create', referer_id=12312)
|
name='test form create', referer_id=12312
|
||||||
|
)
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service, 'create_one', side_effect=forms_exceptions.UserNotFoundError(
|
service,
|
||||||
messages.Messages.not_found('referer')))
|
'create_one',
|
||||||
|
side_effect=forms_exceptions.UserNotFoundError(
|
||||||
|
messages.Messages.not_found('referer')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
response = client.post('/api/forms', json=form_body)
|
response = client.post('/api/forms', json=form_body)
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
mock.assert_called_once_with(
|
mock.assert_called_once_with(
|
||||||
mock_session,
|
mock_session,
|
||||||
form_create
|
form_create
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
form=form_create
|
||||||
|
)
|
||||||
|
|
||||||
def test_create_one_productor_notfound(
|
def test_create_one_productor_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
form_body = form_factory.form_body_factory(
|
form_body = form_factory.form_body_factory(
|
||||||
name='test form create', productor_id=1231)
|
name='test form create', productor_id=1231
|
||||||
|
)
|
||||||
form_create = form_factory.form_create_factory(
|
form_create = form_factory.form_create_factory(
|
||||||
name='test form create', productor_id=1231)
|
name='test form create', productor_id=1231
|
||||||
|
)
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service, 'create_one', side_effect=forms_exceptions.ProductorNotFoundError(
|
service,
|
||||||
messages.Messages.not_found('productor')))
|
'create_one',
|
||||||
|
side_effect=forms_exceptions.ProductorNotFoundError(
|
||||||
|
messages.Messages.not_found('productor')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.post('/api/forms', json=form_body)
|
response = client.post('/api/forms', json=form_body)
|
||||||
|
|
||||||
@@ -200,6 +240,11 @@ class TestForms:
|
|||||||
mock_session,
|
mock_session,
|
||||||
form_create
|
form_create
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
form=form_create
|
||||||
|
)
|
||||||
|
|
||||||
def test_create_one_unauthorized(
|
def test_create_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -225,6 +270,7 @@ class TestForms:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
form_body = form_factory.form_body_factory(name='test form update')
|
form_body = form_factory.form_body_factory(name='test form update')
|
||||||
form_update = form_factory.form_update_factory(name='test form update')
|
form_update = form_factory.form_update_factory(name='test form update')
|
||||||
@@ -235,6 +281,11 @@ class TestForms:
|
|||||||
'update_one',
|
'update_one',
|
||||||
return_value=form_result
|
return_value=form_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.put('/api/forms/2', json=form_body)
|
response = client.put('/api/forms/2', json=form_body)
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -246,19 +297,34 @@ class TestForms:
|
|||||||
2,
|
2,
|
||||||
form_update
|
form_update
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_notfound(
|
def test_update_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
form_body = form_factory.form_body_factory(name='test form update')
|
form_body = form_factory.form_body_factory(name='test form update')
|
||||||
form_update = form_factory.form_update_factory(name='test form update')
|
form_update = form_factory.form_update_factory(name='test form update')
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service, 'update_one', side_effect=forms_exceptions.FormNotFoundError(
|
service,
|
||||||
messages.Messages.not_found('form')))
|
'update_one',
|
||||||
|
side_effect=forms_exceptions.FormNotFoundError(
|
||||||
|
messages.Messages.not_found('form')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.put('/api/forms/2', json=form_body)
|
response = client.put('/api/forms/2', json=form_body)
|
||||||
|
|
||||||
@@ -268,19 +334,32 @@ class TestForms:
|
|||||||
2,
|
2,
|
||||||
form_update
|
form_update
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_referer_notfound(
|
def test_update_one_referer_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
form_body = form_factory.form_body_factory(name='test form update')
|
form_body = form_factory.form_body_factory(name='test form update')
|
||||||
form_update = form_factory.form_update_factory(name='test form update')
|
form_update = form_factory.form_update_factory(name='test form update')
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service, 'update_one', side_effect=forms_exceptions.UserNotFoundError(
|
service, 'update_one', side_effect=forms_exceptions.UserNotFoundError(
|
||||||
messages.Messages.not_found('referer')))
|
messages.Messages.not_found('referer')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.put('/api/forms/2', json=form_body)
|
response = client.put('/api/forms/2', json=form_body)
|
||||||
|
|
||||||
@@ -290,19 +369,34 @@ class TestForms:
|
|||||||
2,
|
2,
|
||||||
form_update
|
form_update
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_productor_notfound(
|
def test_update_one_productor_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
form_body = form_factory.form_body_factory(name='test form update')
|
form_body = form_factory.form_body_factory(name='test form update')
|
||||||
form_update = form_factory.form_update_factory(name='test form update')
|
form_update = form_factory.form_update_factory(name='test form update')
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service, 'update_one', side_effect=forms_exceptions.ProductorNotFoundError(
|
service,
|
||||||
messages.Messages.not_found('productor')))
|
'update_one',
|
||||||
|
side_effect=forms_exceptions.ProductorNotFoundError(
|
||||||
|
messages.Messages.not_found('productor')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.put('/api/forms/2', json=form_body)
|
response = client.put('/api/forms/2', json=form_body)
|
||||||
|
|
||||||
@@ -312,6 +406,11 @@ class TestForms:
|
|||||||
2,
|
2,
|
||||||
form_update
|
form_update
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_unauthorized(
|
def test_update_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -337,6 +436,7 @@ class TestForms:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
form_result = form_factory.form_public_factory(name='test form delete')
|
form_result = form_factory.form_public_factory(name='test form delete')
|
||||||
|
|
||||||
@@ -345,6 +445,11 @@ class TestForms:
|
|||||||
'delete_one',
|
'delete_one',
|
||||||
return_value=form_result
|
return_value=form_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.delete('/api/forms/2')
|
response = client.delete('/api/forms/2')
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -355,12 +460,18 @@ class TestForms:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_notfound(
|
def test_delete_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
@@ -368,6 +479,11 @@ class TestForms:
|
|||||||
side_effect=forms_exceptions.FormNotFoundError(
|
side_effect=forms_exceptions.FormNotFoundError(
|
||||||
messages.Messages.not_found('form'))
|
messages.Messages.not_found('form'))
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.delete('/api/forms/2')
|
response = client.delete('/api/forms/2')
|
||||||
|
|
||||||
@@ -376,6 +492,11 @@ class TestForms:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_unauthorized(
|
def test_delete_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ class TestProductors:
|
|||||||
mock_result = productor_factory.productor_public_factory(
|
mock_result = productor_factory.productor_public_factory(
|
||||||
name="test 2", id=2)
|
name="test 2", id=2)
|
||||||
|
|
||||||
mocker.patch.object(
|
mock_is_allowed = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
@@ -116,6 +116,12 @@ class TestProductors:
|
|||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_notfound(
|
def test_get_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
@@ -123,12 +129,14 @@ class TestProductors:
|
|||||||
mock_session,
|
mock_session,
|
||||||
mock_user,
|
mock_user,
|
||||||
):
|
):
|
||||||
mocker.patch.object(
|
mock_is_allowed = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
)
|
)
|
||||||
|
|
||||||
mock_result = None
|
mock_result = None
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'get_one',
|
'get_one',
|
||||||
@@ -140,6 +148,11 @@ class TestProductors:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_unauthorized(
|
def test_get_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -173,7 +186,7 @@ class TestProductors:
|
|||||||
productor_result = productor_factory.productor_public_factory(
|
productor_result = productor_factory.productor_public_factory(
|
||||||
name='test productor create')
|
name='test productor create')
|
||||||
|
|
||||||
mocker.patch.object(
|
mock_is_allowed = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
@@ -194,6 +207,11 @@ class TestProductors:
|
|||||||
mock_session,
|
mock_session,
|
||||||
productor_create
|
productor_create
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
productor=productor_create
|
||||||
|
)
|
||||||
|
|
||||||
def test_create_one_unauthorized(
|
def test_create_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -229,7 +247,7 @@ class TestProductors:
|
|||||||
productor_result = productor_factory.productor_public_factory(
|
productor_result = productor_factory.productor_public_factory(
|
||||||
name='test productor update')
|
name='test productor update')
|
||||||
|
|
||||||
mocker.patch.object(
|
mock_is_allowed = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
@@ -252,6 +270,12 @@ class TestProductors:
|
|||||||
productor_update
|
productor_update
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_notfound(
|
def test_update_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
@@ -266,7 +290,7 @@ class TestProductors:
|
|||||||
name='test productor update',
|
name='test productor update',
|
||||||
)
|
)
|
||||||
|
|
||||||
mocker.patch.object(
|
mock_is_allowed = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
@@ -289,6 +313,11 @@ class TestProductors:
|
|||||||
productor_update
|
productor_update
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_unauthorized(
|
def test_update_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -310,7 +339,6 @@ class TestProductors:
|
|||||||
|
|
||||||
app.dependency_overrides.clear()
|
app.dependency_overrides.clear()
|
||||||
|
|
||||||
|
|
||||||
def test_delete_one(
|
def test_delete_one(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
@@ -321,7 +349,7 @@ class TestProductors:
|
|||||||
productor_result = productor_factory.productor_public_factory(
|
productor_result = productor_factory.productor_public_factory(
|
||||||
name='test productor delete')
|
name='test productor delete')
|
||||||
|
|
||||||
mocker.patch.object(
|
mock_is_allowed = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
@@ -342,6 +370,11 @@ class TestProductors:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_notfound(
|
def test_delete_one_notfound(
|
||||||
self,
|
self,
|
||||||
@@ -350,11 +383,12 @@ class TestProductors:
|
|||||||
mock_session,
|
mock_session,
|
||||||
mock_user,
|
mock_user,
|
||||||
):
|
):
|
||||||
mocker.patch.object(
|
mock_is_allowed = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'is_allowed',
|
'is_allowed',
|
||||||
return_value=True
|
return_value=True
|
||||||
)
|
)
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'delete_one',
|
'delete_one',
|
||||||
@@ -371,6 +405,12 @@ class TestProductors:
|
|||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_unauthorized(
|
def test_delete_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
|
|||||||
@@ -90,10 +90,17 @@ class TestProducts:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock_result = product_factory.product_public_factory(
|
mock_result = product_factory.product_public_factory(
|
||||||
name="test 2", id=2)
|
name="test 2", id=2)
|
||||||
|
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'get_one',
|
'get_one',
|
||||||
@@ -109,14 +116,25 @@ class TestProducts:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_notfound(
|
def test_get_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock_result = None
|
mock_result = None
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'get_one',
|
'get_one',
|
||||||
@@ -128,6 +146,11 @@ class TestProducts:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_unauthorized(
|
def test_get_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -152,6 +175,7 @@ class TestProducts:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
product_body = product_factory.product_body_factory(
|
product_body = product_factory.product_body_factory(
|
||||||
name='test product create')
|
name='test product create')
|
||||||
@@ -160,6 +184,11 @@ class TestProducts:
|
|||||||
product_result = product_factory.product_public_factory(
|
product_result = product_factory.product_public_factory(
|
||||||
name='test product create')
|
name='test product create')
|
||||||
|
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'create_one',
|
'create_one',
|
||||||
@@ -175,6 +204,11 @@ class TestProducts:
|
|||||||
mock_session,
|
mock_session,
|
||||||
product_create
|
product_create
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
product=product_create
|
||||||
|
)
|
||||||
|
|
||||||
def test_create_one_unauthorized(
|
def test_create_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -201,6 +235,7 @@ class TestProducts:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
product_body = product_factory.product_body_factory(
|
product_body = product_factory.product_body_factory(
|
||||||
name='test product update'
|
name='test product update'
|
||||||
@@ -212,6 +247,11 @@ class TestProducts:
|
|||||||
name='test product update'
|
name='test product update'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'update_one',
|
'update_one',
|
||||||
@@ -229,11 +269,18 @@ class TestProducts:
|
|||||||
product_update
|
product_update
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_notfound(
|
def test_update_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
product_body = product_factory.product_body_factory(
|
product_body = product_factory.product_body_factory(
|
||||||
name='test product update'
|
name='test product update'
|
||||||
@@ -242,6 +289,11 @@ class TestProducts:
|
|||||||
name='test product update'
|
name='test product update'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'update_one',
|
'update_one',
|
||||||
@@ -256,6 +308,11 @@ class TestProducts:
|
|||||||
2,
|
2,
|
||||||
product_update
|
product_update
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_unauthorized(
|
def test_update_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -282,6 +339,7 @@ class TestProducts:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
product_result = product_factory.product_public_factory(
|
product_result = product_factory.product_public_factory(
|
||||||
name='test product delete')
|
name='test product delete')
|
||||||
@@ -292,6 +350,11 @@ class TestProducts:
|
|||||||
return_value=product_result
|
return_value=product_result
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
response = client.delete('/api/products/2')
|
response = client.delete('/api/products/2')
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
|
|
||||||
@@ -301,12 +364,18 @@ class TestProducts:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_notfound(
|
def test_delete_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
@@ -314,6 +383,11 @@ class TestProducts:
|
|||||||
side_effect=exceptions.ProductNotFoundError('Product not found')
|
side_effect=exceptions.ProductNotFoundError('Product not found')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
response = client.delete('/api/products/2')
|
response = client.delete('/api/products/2')
|
||||||
|
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
@@ -322,6 +396,12 @@ class TestProducts:
|
|||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_unauthorized(
|
def test_delete_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ class TestShipments:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock_result = shipment_factory.shipment_public_factory(
|
mock_result = shipment_factory.shipment_public_factory(
|
||||||
name="test 2", id=2)
|
name="test 2", id=2)
|
||||||
@@ -101,6 +102,11 @@ class TestShipments:
|
|||||||
'get_one',
|
'get_one',
|
||||||
return_value=mock_result
|
return_value=mock_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.get('/api/shipments/2')
|
response = client.get('/api/shipments/2')
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -111,12 +117,18 @@ class TestShipments:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_notfound(
|
def test_get_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock_result = None
|
mock_result = None
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
@@ -124,12 +136,22 @@ class TestShipments:
|
|||||||
'get_one',
|
'get_one',
|
||||||
return_value=mock_result
|
return_value=mock_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
response = client.get('/api/shipments/2')
|
response = client.get('/api/shipments/2')
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
mock.assert_called_once_with(
|
mock.assert_called_once_with(
|
||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_unauthorized(
|
def test_get_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -154,7 +176,8 @@ class TestShipments:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
):
|
mock_user,
|
||||||
|
):
|
||||||
shipment_body = shipment_factory.shipment_body_factory(
|
shipment_body = shipment_factory.shipment_body_factory(
|
||||||
name='test shipment create'
|
name='test shipment create'
|
||||||
)
|
)
|
||||||
@@ -170,6 +193,11 @@ class TestShipments:
|
|||||||
'create_one',
|
'create_one',
|
||||||
return_value=shipment_result
|
return_value=shipment_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.post('/api/shipments', json=shipment_body)
|
response = client.post('/api/shipments', json=shipment_body)
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -180,6 +208,11 @@ class TestShipments:
|
|||||||
mock_session,
|
mock_session,
|
||||||
shipment_create
|
shipment_create
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
shipment=shipment_create
|
||||||
|
)
|
||||||
|
|
||||||
def test_create_one_unauthorized(
|
def test_create_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -207,6 +240,7 @@ class TestShipments:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
shipment_body = shipment_factory.shipment_body_factory(
|
shipment_body = shipment_factory.shipment_body_factory(
|
||||||
name='test shipment update'
|
name='test shipment update'
|
||||||
@@ -223,6 +257,11 @@ class TestShipments:
|
|||||||
'update_one',
|
'update_one',
|
||||||
return_value=shipment_result
|
return_value=shipment_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.put('/api/shipments/2', json=shipment_body)
|
response = client.put('/api/shipments/2', json=shipment_body)
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -234,12 +273,18 @@ class TestShipments:
|
|||||||
2,
|
2,
|
||||||
shipment_update
|
shipment_update
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_notfound(
|
def test_update_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
shipment_body = shipment_factory.shipment_body_factory(
|
shipment_body = shipment_factory.shipment_body_factory(
|
||||||
name='test shipment update'
|
name='test shipment update'
|
||||||
@@ -249,8 +294,17 @@ class TestShipments:
|
|||||||
)
|
)
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service, 'update_one', side_effect=exceptions.ShipmentNotFoundError(
|
service,
|
||||||
messages.Messages.not_found('shipment')))
|
'update_one',
|
||||||
|
side_effect=exceptions.ShipmentNotFoundError(
|
||||||
|
messages.Messages.not_found('shipment')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.put('/api/shipments/2', json=shipment_body)
|
response = client.put('/api/shipments/2', json=shipment_body)
|
||||||
|
|
||||||
@@ -260,6 +314,11 @@ class TestShipments:
|
|||||||
2,
|
2,
|
||||||
shipment_update
|
shipment_update
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_unauthorized(
|
def test_update_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
@@ -287,6 +346,7 @@ class TestShipments:
|
|||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
shipment_result = shipment_factory.shipment_public_factory(
|
shipment_result = shipment_factory.shipment_public_factory(
|
||||||
name='test shipment delete'
|
name='test shipment delete'
|
||||||
@@ -297,6 +357,11 @@ class TestShipments:
|
|||||||
'delete_one',
|
'delete_one',
|
||||||
return_value=shipment_result
|
return_value=shipment_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.delete('/api/shipments/2')
|
response = client.delete('/api/shipments/2')
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -307,12 +372,18 @@ class TestShipments:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_notfound(
|
def test_delete_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
|
mock_user,
|
||||||
):
|
):
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
@@ -321,6 +392,11 @@ class TestShipments:
|
|||||||
messages.Messages.not_found('shipment')
|
messages.Messages.not_found('shipment')
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.delete('/api/shipments/2')
|
response = client.delete('/api/shipments/2')
|
||||||
|
|
||||||
@@ -329,6 +405,11 @@ class TestShipments:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
_id=2
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_unauthorized(
|
def test_delete_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
|
|||||||
@@ -2,13 +2,18 @@ import src.users.exceptions as exceptions
|
|||||||
import src.users.service as service
|
import src.users.service as service
|
||||||
import tests.factories.users as user_factory
|
import tests.factories.users as user_factory
|
||||||
from fastapi.exceptions import HTTPException
|
from fastapi.exceptions import HTTPException
|
||||||
from src import models
|
|
||||||
from src.auth.auth import get_current_user
|
from src.auth.auth import get_current_user
|
||||||
from src.main import app
|
from src.main import app
|
||||||
|
|
||||||
|
|
||||||
class TestUsers:
|
class TestUsers:
|
||||||
def test_get_all(self, client, mocker, mock_session, mock_user):
|
def test_get_all(
|
||||||
|
self,
|
||||||
|
client,
|
||||||
|
mocker,
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
):
|
||||||
mock_results = [
|
mock_results = [
|
||||||
user_factory.user_public_factory(name="test 1", id=1),
|
user_factory.user_public_factory(name="test 1", id=1),
|
||||||
user_factory.user_public_factory(name="test 2", id=2),
|
user_factory.user_public_factory(name="test 2", id=2),
|
||||||
@@ -30,8 +35,15 @@ class TestUsers:
|
|||||||
[],
|
[],
|
||||||
[],
|
[],
|
||||||
)
|
)
|
||||||
|
assert mock_user
|
||||||
|
|
||||||
def test_get_all_filters(self, client, mocker, mock_session, mock_user):
|
def test_get_all_filters(
|
||||||
|
self,
|
||||||
|
client,
|
||||||
|
mocker,
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
):
|
||||||
mock_results = [
|
mock_results = [
|
||||||
user_factory.user_public_factory(name="test 2", id=2),
|
user_factory.user_public_factory(name="test 2", id=2),
|
||||||
]
|
]
|
||||||
@@ -40,7 +52,6 @@ class TestUsers:
|
|||||||
'get_all',
|
'get_all',
|
||||||
return_value=mock_results
|
return_value=mock_results
|
||||||
)
|
)
|
||||||
|
|
||||||
response = client.get('/api/users?emails=test@test.test&names=test 2')
|
response = client.get('/api/users?emails=test@test.test&names=test 2')
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
@@ -51,13 +62,13 @@ class TestUsers:
|
|||||||
['test 2'],
|
['test 2'],
|
||||||
['test@test.test'],
|
['test@test.test'],
|
||||||
)
|
)
|
||||||
|
assert mock_user
|
||||||
|
|
||||||
def test_get_all_unauthorized(
|
def test_get_all_unauthorized(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
):
|
||||||
mock_user):
|
|
||||||
def unauthorized():
|
def unauthorized():
|
||||||
raise HTTPException(status_code=401)
|
raise HTTPException(status_code=401)
|
||||||
|
|
||||||
@@ -71,7 +82,13 @@ class TestUsers:
|
|||||||
|
|
||||||
app.dependency_overrides.clear()
|
app.dependency_overrides.clear()
|
||||||
|
|
||||||
def test_get_one(self, client, mocker, mock_session, mock_user):
|
def test_get_one(
|
||||||
|
self,
|
||||||
|
client,
|
||||||
|
mocker,
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
):
|
||||||
mock_result = user_factory.user_public_factory(name="test 2", id=2)
|
mock_result = user_factory.user_public_factory(name="test 2", id=2)
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
@@ -79,6 +96,11 @@ class TestUsers:
|
|||||||
'get_one',
|
'get_one',
|
||||||
return_value=mock_result
|
return_value=mock_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.get('/api/users/2')
|
response = client.get('/api/users/2')
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -89,28 +111,43 @@ class TestUsers:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_user
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_notfound(self, client, mocker, mock_session, mock_user):
|
def test_get_one_notfound(
|
||||||
|
self,
|
||||||
|
client,
|
||||||
|
mocker,
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
):
|
||||||
mock_result = None
|
mock_result = None
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'get_one',
|
'get_one',
|
||||||
return_value=mock_result
|
return_value=mock_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
response = client.get('/api/users/2')
|
response = client.get('/api/users/2')
|
||||||
response_data = response.json()
|
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
mock.assert_called_once_with(
|
mock.assert_called_once_with(
|
||||||
mock_session,
|
mock_session,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_user
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_one_unauthorized(
|
def test_get_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
):
|
||||||
mock_user):
|
|
||||||
def unauthorized():
|
def unauthorized():
|
||||||
raise HTTPException(status_code=401)
|
raise HTTPException(status_code=401)
|
||||||
|
|
||||||
@@ -124,7 +161,13 @@ class TestUsers:
|
|||||||
|
|
||||||
app.dependency_overrides.clear()
|
app.dependency_overrides.clear()
|
||||||
|
|
||||||
def test_create_one(self, client, mocker, mock_session, mock_user):
|
def test_create_one(
|
||||||
|
self,
|
||||||
|
client,
|
||||||
|
mocker,
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
):
|
||||||
user_body = user_factory.user_body_factory(name='test user create')
|
user_body = user_factory.user_body_factory(name='test user create')
|
||||||
user_create = user_factory.user_create_factory(name='test user create')
|
user_create = user_factory.user_create_factory(name='test user create')
|
||||||
user_result = user_factory.user_public_factory(name='test user create')
|
user_result = user_factory.user_public_factory(name='test user create')
|
||||||
@@ -134,6 +177,11 @@ class TestUsers:
|
|||||||
'create_one',
|
'create_one',
|
||||||
return_value=user_result
|
return_value=user_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.post('/api/users', json=user_body)
|
response = client.post('/api/users', json=user_body)
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -144,13 +192,15 @@ class TestUsers:
|
|||||||
mock_session,
|
mock_session,
|
||||||
user_create
|
user_create
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_user
|
||||||
|
)
|
||||||
|
|
||||||
def test_create_one_unauthorized(
|
def test_create_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
):
|
||||||
mock_user):
|
|
||||||
def unauthorized():
|
def unauthorized():
|
||||||
raise HTTPException(status_code=401)
|
raise HTTPException(status_code=401)
|
||||||
user_body = user_factory.user_body_factory(name='test user create')
|
user_body = user_factory.user_body_factory(name='test user create')
|
||||||
@@ -165,7 +215,13 @@ class TestUsers:
|
|||||||
|
|
||||||
app.dependency_overrides.clear()
|
app.dependency_overrides.clear()
|
||||||
|
|
||||||
def test_update_one(self, client, mocker, mock_session, mock_user):
|
def test_update_one(
|
||||||
|
self,
|
||||||
|
client,
|
||||||
|
mocker,
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
):
|
||||||
user_body = user_factory.user_body_factory(name='test user update')
|
user_body = user_factory.user_body_factory(name='test user update')
|
||||||
user_update = user_factory.user_update_factory(name='test user update')
|
user_update = user_factory.user_update_factory(name='test user update')
|
||||||
user_result = user_factory.user_public_factory(name='test user update')
|
user_result = user_factory.user_public_factory(name='test user update')
|
||||||
@@ -175,6 +231,11 @@ class TestUsers:
|
|||||||
'update_one',
|
'update_one',
|
||||||
return_value=user_result
|
return_value=user_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.put('/api/users/2', json=user_body)
|
response = client.put('/api/users/2', json=user_body)
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -186,25 +247,32 @@ class TestUsers:
|
|||||||
2,
|
2,
|
||||||
user_update
|
user_update
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_user
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_notfound(
|
def test_update_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
mock_user):
|
mock_user,
|
||||||
|
):
|
||||||
user_body = user_factory.user_body_factory(name='test user update')
|
user_body = user_factory.user_body_factory(name='test user update')
|
||||||
user_update = user_factory.user_update_factory(name='test user update')
|
user_update = user_factory.user_update_factory(name='test user update')
|
||||||
user_result = None
|
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'update_one',
|
'update_one',
|
||||||
side_effect=exceptions.UserNotFoundError('User 2 not found')
|
side_effect=exceptions.UserNotFoundError('User 2 not found')
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.put('/api/users/2', json=user_body)
|
response = client.put('/api/users/2', json=user_body)
|
||||||
response_data = response.json()
|
|
||||||
|
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
mock.assert_called_once_with(
|
mock.assert_called_once_with(
|
||||||
@@ -212,13 +280,15 @@ class TestUsers:
|
|||||||
2,
|
2,
|
||||||
user_update
|
user_update
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_user
|
||||||
|
)
|
||||||
|
|
||||||
def test_update_one_unauthorized(
|
def test_update_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
):
|
||||||
mock_user):
|
|
||||||
def unauthorized():
|
def unauthorized():
|
||||||
raise HTTPException(status_code=401)
|
raise HTTPException(status_code=401)
|
||||||
user_body = user_factory.user_body_factory(name='test user update')
|
user_body = user_factory.user_body_factory(name='test user update')
|
||||||
@@ -233,7 +303,13 @@ class TestUsers:
|
|||||||
|
|
||||||
app.dependency_overrides.clear()
|
app.dependency_overrides.clear()
|
||||||
|
|
||||||
def test_delete_one(self, client, mocker, mock_session, mock_user):
|
def test_delete_one(
|
||||||
|
self,
|
||||||
|
client,
|
||||||
|
mocker,
|
||||||
|
mock_session,
|
||||||
|
mock_user,
|
||||||
|
):
|
||||||
user_result = user_factory.user_public_factory(name='test user delete')
|
user_result = user_factory.user_public_factory(name='test user delete')
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
@@ -241,6 +317,11 @@ class TestUsers:
|
|||||||
'delete_one',
|
'delete_one',
|
||||||
return_value=user_result
|
return_value=user_result
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.delete('/api/users/2')
|
response = client.delete('/api/users/2')
|
||||||
response_data = response.json()
|
response_data = response.json()
|
||||||
@@ -251,40 +332,46 @@ class TestUsers:
|
|||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_user
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_notfound(
|
def test_delete_one_notfound(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
mock_session,
|
||||||
mock_user):
|
mock_user,
|
||||||
user_result = None
|
):
|
||||||
|
|
||||||
mock = mocker.patch.object(
|
mock = mocker.patch.object(
|
||||||
service,
|
service,
|
||||||
'delete_one',
|
'delete_one',
|
||||||
side_effect=exceptions.UserNotFoundError('User 2 not found')
|
side_effect=exceptions.UserNotFoundError('User 2 not found')
|
||||||
)
|
)
|
||||||
|
mock_is_allowed = mocker.patch.object(
|
||||||
|
service,
|
||||||
|
'is_allowed',
|
||||||
|
return_value=True
|
||||||
|
)
|
||||||
|
|
||||||
response = client.delete('/api/users/2')
|
response = client.delete('/api/users/2')
|
||||||
response_data = response.json()
|
|
||||||
|
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
mock.assert_called_once_with(
|
mock.assert_called_once_with(
|
||||||
mock_session,
|
mock_session,
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
|
mock_is_allowed.assert_called_once_with(
|
||||||
|
mock_user
|
||||||
|
)
|
||||||
|
|
||||||
def test_delete_one_unauthorized(
|
def test_delete_one_unauthorized(
|
||||||
self,
|
self,
|
||||||
client,
|
client,
|
||||||
mocker,
|
mocker,
|
||||||
mock_session,
|
):
|
||||||
mock_user):
|
|
||||||
def unauthorized():
|
def unauthorized():
|
||||||
raise HTTPException(status_code=401)
|
raise HTTPException(status_code=401)
|
||||||
user_body = user_factory.user_body_factory(name='test user delete')
|
|
||||||
|
|
||||||
app.dependency_overrides[get_current_user] = unauthorized
|
app.dependency_overrides[get_current_user] = unauthorized
|
||||||
|
|
||||||
mock = mocker.patch('src.users.service.delete_one')
|
mock = mocker.patch('src.users.service.delete_one')
|
||||||
|
|||||||
@@ -160,6 +160,7 @@
|
|||||||
"and/or": "and/or",
|
"and/or": "and/or",
|
||||||
"form name recommandation": "recommendation: Contract <contract-type> (Example: Pork-Lamb Contract)",
|
"form name recommandation": "recommendation: Contract <contract-type> (Example: Pork-Lamb Contract)",
|
||||||
"submit contract": "submit contract",
|
"submit contract": "submit contract",
|
||||||
|
"submit": "submit",
|
||||||
"example in user forms": "example in user contract form",
|
"example in user forms": "example in user contract form",
|
||||||
"occasional product": "occasional product",
|
"occasional product": "occasional product",
|
||||||
"recurrent product": "recurrent product",
|
"recurrent product": "recurrent product",
|
||||||
|
|||||||
@@ -160,6 +160,7 @@
|
|||||||
"and/or": "et/ou",
|
"and/or": "et/ou",
|
||||||
"form name recommandation": "recommandation : Contrat <contract-type> (Exemple : Contrat Porc-Agneau)",
|
"form name recommandation": "recommandation : Contrat <contract-type> (Exemple : Contrat Porc-Agneau)",
|
||||||
"submit contract": "envoyer le contrat",
|
"submit contract": "envoyer le contrat",
|
||||||
|
"submit": "envoyer",
|
||||||
"example in user forms": "exemple dans le formulaire à destination des amapiens",
|
"example in user forms": "exemple dans le formulaire à destination des amapiens",
|
||||||
"occasional product": "produit occasionnel",
|
"occasional product": "produit occasionnel",
|
||||||
"recurrent product": "produit récurrent",
|
"recurrent product": "produit récurrent",
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ export default function FormModal({ opened, onClose, currentForm, handleSubmit }
|
|||||||
});
|
});
|
||||||
|
|
||||||
const usersSelect = useMemo(() => {
|
const usersSelect = useMemo(() => {
|
||||||
|
if (!users)
|
||||||
|
return [];
|
||||||
return users?.map((user) => ({
|
return users?.map((user) => ({
|
||||||
value: String(user.id),
|
value: String(user.id),
|
||||||
label: `${user.name}`,
|
label: `${user.name}`,
|
||||||
@@ -60,6 +62,8 @@ export default function FormModal({ opened, onClose, currentForm, handleSubmit }
|
|||||||
}, [users]);
|
}, [users]);
|
||||||
|
|
||||||
const productorsSelect = useMemo(() => {
|
const productorsSelect = useMemo(() => {
|
||||||
|
if (!productors)
|
||||||
|
return [];
|
||||||
return productors?.map((prod) => ({
|
return productors?.map((prod) => ({
|
||||||
value: String(prod.id),
|
value: String(prod.id),
|
||||||
label: `${prod.name}`,
|
label: `${prod.name}`,
|
||||||
|
|||||||
@@ -4,9 +4,12 @@ import "./index.css";
|
|||||||
import { Group, Loader } from "@mantine/core";
|
import { Group, Loader } from "@mantine/core";
|
||||||
import { Config } from "@/config/config";
|
import { Config } from "@/config/config";
|
||||||
import { useAuth } from "@/services/auth/AuthProvider";
|
import { useAuth } from "@/services/auth/AuthProvider";
|
||||||
|
import { useMediaQuery } from "@mantine/hooks";
|
||||||
|
import { IconHome, IconLogin, IconLogout, IconSettings } from "@tabler/icons-react";
|
||||||
|
|
||||||
export function Navbar() {
|
export function Navbar() {
|
||||||
const { loggedUser: user, isLoading } = useAuth();
|
const { loggedUser: user, isLoading } = useAuth();
|
||||||
|
const isPhone = useMediaQuery("(max-width: 760px");
|
||||||
|
|
||||||
if (!user && isLoading) {
|
if (!user && isLoading) {
|
||||||
return (
|
return (
|
||||||
@@ -20,11 +23,11 @@ export function Navbar() {
|
|||||||
<nav>
|
<nav>
|
||||||
<Group>
|
<Group>
|
||||||
<NavLink className={"navLink"} aria-label={t("home")} to="/">
|
<NavLink className={"navLink"} aria-label={t("home")} to="/">
|
||||||
{t("home", { capfirst: true })}
|
{isPhone ? <IconHome/> : t("home", { capfirst: true })}
|
||||||
</NavLink>
|
</NavLink>
|
||||||
{user?.logged ? (
|
{user?.logged ? (
|
||||||
<NavLink className={"navLink"} aria-label={t("dashboard")} to="/dashboard/help">
|
<NavLink className={"navLink"} aria-label={t("dashboard")} to="/dashboard/help">
|
||||||
{t("dashboard", { capfirst: true })}
|
{isPhone ? <IconSettings/> : t("dashboard", { capfirst: true })}
|
||||||
</NavLink>
|
</NavLink>
|
||||||
) : null}
|
) : null}
|
||||||
</Group>
|
</Group>
|
||||||
@@ -34,7 +37,7 @@ export function Navbar() {
|
|||||||
className={"navLink"}
|
className={"navLink"}
|
||||||
aria-label={t("login with keycloak", { capfirst: true })}
|
aria-label={t("login with keycloak", { capfirst: true })}
|
||||||
>
|
>
|
||||||
{t("login with keycloak", { capfirst: true })}
|
{isPhone ? <IconLogin/> : t("login with keycloak", { capfirst: true })}
|
||||||
</a>
|
</a>
|
||||||
) : (
|
) : (
|
||||||
<a
|
<a
|
||||||
@@ -42,7 +45,7 @@ export function Navbar() {
|
|||||||
className={"navLink"}
|
className={"navLink"}
|
||||||
aria-label={t("logout", { capfirst: true })}
|
aria-label={t("logout", { capfirst: true })}
|
||||||
>
|
>
|
||||||
{t("logout", { capfirst: true })}
|
{isPhone ? <IconLogout/> : t("logout", { capfirst: true })}
|
||||||
</a>
|
</a>
|
||||||
)}
|
)}
|
||||||
</nav>
|
</nav>
|
||||||
|
|||||||
@@ -59,6 +59,8 @@ export function ProductModal({ opened, onClose, currentProduct, handleSubmit }:
|
|||||||
});
|
});
|
||||||
|
|
||||||
const productorsSelect = useMemo(() => {
|
const productorsSelect = useMemo(() => {
|
||||||
|
if (!productors)
|
||||||
|
return [];
|
||||||
return productors?.map((productor) => ({
|
return productors?.map((productor) => ({
|
||||||
value: String(productor.id),
|
value: String(productor.id),
|
||||||
label: `${productor.name}`,
|
label: `${productor.name}`,
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ export default function ShipmentModal({
|
|||||||
const { data: allProductors } = useGetProductors();
|
const { data: allProductors } = useGetProductors();
|
||||||
|
|
||||||
const formsSelect = useMemo(() => {
|
const formsSelect = useMemo(() => {
|
||||||
|
if (!allForms)
|
||||||
|
return [];
|
||||||
return allForms?.map((currentForm) => ({
|
return allForms?.map((currentForm) => ({
|
||||||
value: String(currentForm.id),
|
value: String(currentForm.id),
|
||||||
label: `${currentForm.name} ${currentForm.season}`,
|
label: `${currentForm.name} ${currentForm.season}`,
|
||||||
@@ -55,7 +57,7 @@ export default function ShipmentModal({
|
|||||||
}, [allForms]);
|
}, [allForms]);
|
||||||
|
|
||||||
const productsSelect = useMemo(() => {
|
const productsSelect = useMemo(() => {
|
||||||
if (!allProducts || !allProductors) return;
|
if (!allProducts || !allProductors) return [];
|
||||||
return allProductors?.map((productor) => {
|
return allProductors?.map((productor) => {
|
||||||
return {
|
return {
|
||||||
group: productor.name,
|
group: productor.name,
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ export function UserModal({ opened, onClose, currentUser, handleSubmit }: UserMo
|
|||||||
});
|
});
|
||||||
|
|
||||||
const roleSelect = useMemo(() => {
|
const roleSelect = useMemo(() => {
|
||||||
|
if (!allRoles)
|
||||||
|
return [];
|
||||||
return allRoles?.map((role) => ({ value: String(role.name), label: role.name }));
|
return allRoles?.map((role) => ({ value: String(role.name), label: role.name }));
|
||||||
}, [allRoles]);
|
}, [allRoles]);
|
||||||
|
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ export function Contract() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Stack w={{ base: "100%", md: "80%", lg: "50%" }}>
|
<Stack w={{ base: "100%", md: "80%", lg: "50%" }} p={{base: 'xs'}}>
|
||||||
<Title order={2}>{form.name}</Title>
|
<Title order={2}>{form.name}</Title>
|
||||||
<Title order={3}>{t("informations", { capfirst: true })}</Title>
|
<Title order={3}>{t("informations", { capfirst: true })}</Title>
|
||||||
<Text size="sm">
|
<Text size="sm">
|
||||||
@@ -283,6 +283,10 @@ export function Contract() {
|
|||||||
ref={(el) => {
|
ref={(el) => {
|
||||||
inputRefs.current.payment_method = el;
|
inputRefs.current.payment_method = el;
|
||||||
}}
|
}}
|
||||||
|
comboboxProps={{
|
||||||
|
withinPortal: false,
|
||||||
|
position: "bottom-start",
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
{inputForm.values.payment_method === "cheque" ? (
|
{inputForm.values.payment_method === "cheque" ? (
|
||||||
<ContractCheque
|
<ContractCheque
|
||||||
@@ -319,7 +323,7 @@ export function Contract() {
|
|||||||
<Button
|
<Button
|
||||||
leftSection={<IconDownload/>}
|
leftSection={<IconDownload/>}
|
||||||
aria-label={t("submit contracts")} onClick={handleSubmit}>
|
aria-label={t("submit contracts")} onClick={handleSubmit}>
|
||||||
{t("submit contract", {capfirst: true})}
|
{t("submit", {capfirst: true})}
|
||||||
</Button>
|
</Button>
|
||||||
</Overlay>
|
</Overlay>
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|||||||
@@ -40,12 +40,16 @@ export default function Productors() {
|
|||||||
}, [navigate, searchParams]);
|
}, [navigate, searchParams]);
|
||||||
|
|
||||||
const names = useMemo(() => {
|
const names = useMemo(() => {
|
||||||
|
if (!allProductors)
|
||||||
|
return [];
|
||||||
return allProductors
|
return allProductors
|
||||||
?.map((productor: Productor) => productor.name)
|
?.map((productor: Productor) => productor.name)
|
||||||
.filter((season, index, array) => array.indexOf(season) === index);
|
.filter((season, index, array) => array.indexOf(season) === index);
|
||||||
}, [allProductors]);
|
}, [allProductors]);
|
||||||
|
|
||||||
const types = useMemo(() => {
|
const types = useMemo(() => {
|
||||||
|
if (!allProductors)
|
||||||
|
return [];
|
||||||
return allProductors
|
return allProductors
|
||||||
?.map((productor: Productor) => productor.type)
|
?.map((productor: Productor) => productor.type)
|
||||||
.filter((productor, index, array) => array.indexOf(productor) === index);
|
.filter((productor, index, array) => array.indexOf(productor) === index);
|
||||||
|
|||||||
@@ -38,12 +38,16 @@ export default function Products() {
|
|||||||
const { data: allProducts } = useGetProducts();
|
const { data: allProducts } = useGetProducts();
|
||||||
|
|
||||||
const names = useMemo(() => {
|
const names = useMemo(() => {
|
||||||
|
if (!allProducts)
|
||||||
|
return [];
|
||||||
return allProducts
|
return allProducts
|
||||||
?.map((product: Product) => product.name)
|
?.map((product: Product) => product.name)
|
||||||
.filter((season, index, array) => array.indexOf(season) === index);
|
.filter((season, index, array) => array.indexOf(season) === index);
|
||||||
}, [allProducts]);
|
}, [allProducts]);
|
||||||
|
|
||||||
const productors = useMemo(() => {
|
const productors = useMemo(() => {
|
||||||
|
if (!allProducts)
|
||||||
|
return [];
|
||||||
return allProducts
|
return allProducts
|
||||||
?.map((product: Product) => product.productor.name)
|
?.map((product: Product) => product.productor.name)
|
||||||
.filter((productor, index, array) => array.indexOf(productor) === index);
|
.filter((productor, index, array) => array.indexOf(productor) === index);
|
||||||
|
|||||||
@@ -44,12 +44,16 @@ export default function Shipments() {
|
|||||||
const { data: allShipments } = useGetShipments();
|
const { data: allShipments } = useGetShipments();
|
||||||
|
|
||||||
const names = useMemo(() => {
|
const names = useMemo(() => {
|
||||||
|
if (!allShipments)
|
||||||
|
return [];
|
||||||
return allShipments
|
return allShipments
|
||||||
?.map((shipment: Shipment) => shipment.name)
|
?.map((shipment: Shipment) => shipment.name)
|
||||||
.filter((season, index, array) => array.indexOf(season) === index);
|
.filter((season, index, array) => array.indexOf(season) === index);
|
||||||
}, [allShipments]);
|
}, [allShipments]);
|
||||||
|
|
||||||
const forms = useMemo(() => {
|
const forms = useMemo(() => {
|
||||||
|
if (!allShipments)
|
||||||
|
return [];
|
||||||
return allShipments
|
return allShipments
|
||||||
?.map((shipment: Shipment) => shipment.form.name)
|
?.map((shipment: Shipment) => shipment.form.name)
|
||||||
.filter((season, index, array) => array.indexOf(season) === index);
|
.filter((season, index, array) => array.indexOf(season) === index);
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ export default function Users() {
|
|||||||
const { data: allUsers } = useGetUsers();
|
const { data: allUsers } = useGetUsers();
|
||||||
|
|
||||||
const names = useMemo(() => {
|
const names = useMemo(() => {
|
||||||
|
if (!allUsers)
|
||||||
|
return [];
|
||||||
return allUsers
|
return allUsers
|
||||||
?.map((user: User) => user.name)
|
?.map((user: User) => user.name)
|
||||||
.filter((season, index, array) => array.indexOf(season) === index);
|
.filter((season, index, array) => array.indexOf(season) === index);
|
||||||
|
|||||||
Reference in New Issue
Block a user