gmao/tests/integration/test_quick_lot_creation.py

47 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from uuid import uuid4
from app_new.extensions import db
from app_new.core.models.equipment import EquipmentCategory
from app_new.core.models.maintenance import Lot
def test_quick_lot_is_created_in_selected_category(authenticated_client, app):
with app.app_context():
category = EquipmentCategory(name=f'Catégorie rapide {uuid4().hex[:6]}')
db.session.add(category)
db.session.commit()
category_id = category.id
response = authenticated_client.post('/wizard/api/lots', json={
'name': 'Lot créé pendant linventaire',
'category_id': category_id,
})
assert response.status_code == 201
payload = response.get_json()['lot']
assert payload['category_id'] == category_id
with app.app_context():
lot = db.session.get(Lot, payload['id'])
assert lot.category_id == category_id
assert lot.is_present is True
def test_quick_lot_duplicate_returns_existing_lot(authenticated_client, app):
with app.app_context():
category = EquipmentCategory(name=f'Catégorie doublon {uuid4().hex[:6]}')
lot = Lot(name='Lot identique', category=category)
db.session.add_all([category, lot])
db.session.commit()
response = authenticated_client.post('/wizard/api/lots', json={
'name': 'lot IDENTIQUE', 'category_id': category.id,
})
lot_id = lot.id
assert response.status_code == 409
assert response.get_json()['lot']['id'] == lot_id
def test_equipment_forms_offer_category_bound_lot_creation(authenticated_client):
wizard = authenticated_client.get('/wizard/equipments')
advanced = authenticated_client.get('/equipments/create?advanced=1')
assert wizard.status_code == 200
assert advanced.status_code == 200
assert 'Nouveau lot dans cette catégorie'.encode() in wizard.data
assert 'Créer un lot dans cette catégorie'.encode() in advanced.data