#!/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 !")