52 lines
2.1 KiB
Python
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 !")
|