SuiteConsultance/test_proposition_form.py
2025-09-20 13:18:04 +02:00

52 lines
2.1 KiB
Python

#!/usr/bin/env python3
from app import app
def test_create_proposition_form():
with app.test_client() as client:
# Test GET requête - pour afficher le formulaire
response = client.get('/proposition/create')
assert response.status_code == 200
assert b'Nom du client' in response.data
assert b'Nom du projet' in response.data
assert b'Features' in response.data
# Test POST requête - soumission de formulaire
test_data = {
'client_name': 'Client Test',
'email': 'test@example.com',
'telephone': '0123456789',
'adresse': '123 Rue Test',
'project_name': 'Projet Test',
'project_type': 'Site Web',
'deadline': '2025-06-01',
'project_description': 'Description détaillée du projet test.',
'features': 'Feature 1, Feature 2, Feature 3',
'budget': '10000',
'payment_terms': '30% à la commande, 70% à la livraison',
'contact_info': 'Contact Test',
'additional_info': 'Informations supplémentaires'
}
response = client.post('/proposition/create', data=test_data, follow_redirects=True)
assert response.status_code == 200
assert b'success' in response.data
# Test validation des champs requis
test_data_missing = {
'client_name': '', # Champ obligatoire manquant
'project_name': 'Projet Test',
}
response = client.post('/proposition/create', data=test_data_missing, follow_redirects=True)
assert response.status_code == 200
assert b'error' in response.data
# Test avec tous les champs vides
test_data_empty = {}
response = client.post('/proposition/create', data=test_data_empty, follow_redirects=True)
assert response.status_code == 200
assert b'error' in response.data
if __name__ == "__main__":
print("Début des tests de formulaire de création de proposition...")
test_create_proposition_form()
print("Tests terminés avec succès !")