*** Settings *** Documentation Tests relatifs au formulaire d'ajout d'une demande de nouveau dossier. # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup For Suite Setup Suite Teardown For Suite Teardown *** Test Cases *** Constitution du jeu de données [Documentation] Constitue le jeu de données. # Ajout d'un pétitionnaire &{args_petitionnaire_01} = Create Dictionary ... om_collectivite=MARSEILLE ... particulier_civilite=Monsieur ... particulier_nom=Loco ... particulier_prenom=mautiv ... numero=53 ... voie=avenue du revenant ... lieu_dit=lieudit ... localite=535353 ... code_postal=13013 ... bp=13 ... cedex=145 Set Suite Variable ${args_petitionnaire_01} # # Ajout d'une nouvelle demande &{args_demande_01} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes Set Suite Variable ${args_demande_01} Gestion du bouton de copie de l'adresse du demandeur [Documentation] Permet de vérifier le bon fonctionnement du bouton de copie de l'adresse ... postale "adresse du demandeur" ... Si un pétitionnaire est ajouté, et qu'il a une adresse, le bouton "adresse du demandeur" ... permettra de copier les valeurs de l'adresse du demandeur et de les insérer automatiquement ... dans les champs correspondants sur l'adresse du terrain. Depuis la page d'accueil admin admin Ajouter la nouvelle demande depuis le menu sans validation du formulaire ${args_demande_01} ${args_petitionnaire_01} # On vérifie qu'on est dans le bon contexte de la vérification Le titre de la page doit contenir Guichet Unique > Nouvelle Demande > Nouveau Dossier # On attend que le bouton "adresse du demande" soit visible Wait Until Element Is Visible css=#dem-adr-them # Liste d'id css prise en compte lors de la comparaison de la valeur d'un élément css avec une valeur prédéfinies # (liste valeur_attendues) @{champs_form} = Create List ... terrain_adresse_voie_numero ... terrain_adresse_voie ... terrain_adresse_lieu_dit ... terrain_adresse_localite ... terrain_adresse_code_postal ... terrain_adresse_bp ... terrain_adresse_cedex ${nb_index_champs} = Get length ${champs_form} # On vérifie que les champs qui vont être renseigné sont bien vides Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_voie_numero ${EMPTY} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_voie ${EMPTY} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_lieu_dit ${EMPTY} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_localite ${EMPTY} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_code_postal ${EMPTY} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_bp ${EMPTY} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_cedex ${EMPTY} # On test le bouton de récupération "adresse du demandeur" Click Button css=#dem-adr-them @{valeurs_attendues} = Create List ... ${args_petitionnaire_01.numero} ... ${args_petitionnaire_01.voie} ... ${args_petitionnaire_01.lieu_dit} ... ${args_petitionnaire_01.localite} ... ${args_petitionnaire_01.code_postal} ... ${args_petitionnaire_01.bp} ... ${args_petitionnaire_01.cedex} ${nb_index_valeurs_attendues} = Get length ${valeurs_attendues} # Temporisaton, le dernier champ de l'adresse du terrain doit avoir été renseigné, avec la bonne valeur pour passer à la suite Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_cedex @{valeurs_attendues}[6] # On vérifie que les champs qui ont bien été renseigné par les données de l'adresse du demandeur # dans les champs de l'adresse du terrain Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_voie_numero ${args_petitionnaire_01.numero} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_voie ${args_petitionnaire_01.voie} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_lieu_dit ${args_petitionnaire_01.lieu_dit} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_localite ${args_petitionnaire_01.localite} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_code_postal ${args_petitionnaire_01.code_postal} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_bp ${args_petitionnaire_01.bp} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_cedex ${args_petitionnaire_01.cedex} # On finalise l'ajout de la demande Click On Submit Button # On vérifie que l'enregistrement se fait bien, que les valeurs sont correctements enregistrées # et qu'il n'y a pas d'erreurs Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} La page ne doit pas contenir d'erreur Valid Message Should Contain Création du dossier d'autorisation n° Valid Message Should Contain Création du dossier d'instruction n° # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_voie_numero ${args_petitionnaire_01.numero} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_voie ${args_petitionnaire_01.voie} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_lieu_dit ${args_petitionnaire_01.lieu_dit} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_localite ${args_petitionnaire_01.localite} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_code_postal ${args_petitionnaire_01.code_postal} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_bp ${args_petitionnaire_01.bp} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Contain css=#terrain_adresse_cedex ${args_petitionnaire_01.cedex} Saisie de la nature des travaux [Documentation] Avec un profil administrateur paramètre 3 natures de travaux. ... 3 associées au CU (dont une ayant dépassé la date de validité et 1 pas encore valide) ... et 1 associée au DP. ... ... Depuis le menu Guichet Unique > Nouveau dossier, sélectionne comme Type de dossier ... d'autorisation détaillé une Déclaration Préalable. Lorsque le champs Nature des ... travaux s'affiche vérifie que la liste ne propose que la nature liée à la DP. ... Modifie le Type de dossier et sélectionne Certificat d'urbanisme, lorsque le champs ... Nature des travaux s'affiche vérifie que la liste ne propose que la nature liée ... au CU, qui est valide et dont la date de fin de validité n'est pas dépassée. ... ... Ajoute un pétitionnaire principal et valide la demande puis vérifie que, ... depuis les menu guichet unique > nouvelle demande > récépissé et depuis le contexte ... du dossier, la nature des travaux est correctement affichée. # Création du jeu de données Depuis La Page D'accueil admin admin &{args_famille_travaux} = Create Dictionary ... libelle=FT 031 ... code=FT031 ${famille_travaux} = Ajouter la famille de travaux ${args_famille_travaux} @{dit_nature_travaux_CU} = Create List ... CU - Initial &{nature_travaux_CU} = Create Dictionary ... libelle=FT 031 CU ... code=FT031CU ... famille_travaux=${args_famille_travaux.libelle} ${nature_travaux_1} = Ajouter la nature de travaux ${nature_travaux_CU} ${dit_nature_travaux_CU} ${demain} = Add Time To Date ${DATE_DDMMYYYY} 1 days %d/%m/%Y True %d/%m/%Y ${hier} = Add Time To Date ${DATE_DDMMYYYY} -1 days %d/%m/%Y True %d/%m/%Y &{nature_travaux_CUP} = Create Dictionary ... libelle=FT 031 CU Perime ... code=FT031CUP ... famille_travaux=${args_famille_travaux.libelle} ... om_validite_fin=${hier} ${nature_travaux_2} = Ajouter la nature de travaux ${nature_travaux_CUP} ${dit_nature_travaux_CU} &{nature_travaux_CUTT} = Create Dictionary ... libelle=FT 031 CU Trop tot ... code=FT031CUTT ... famille_travaux=${args_famille_travaux.libelle} ... om_validite_debut=${demain} ${nature_travaux_2} = Ajouter la nature de travaux ${nature_travaux_CUTT} ${dit_nature_travaux_CU} @{dit_nature_travaux_DP} = Create List ... DP - Initiale &{nature_travaux_DP} = Create Dictionary ... libelle=FT 031 DP ... code=FT031DP ... famille_travaux=${args_famille_travaux.libelle} ${nature_travaux_3} = Ajouter la nature de travaux ${nature_travaux_DP} ${dit_nature_travaux_DP} # Test du remplissage dynamique de la nature des travaux &{args_demande} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=DP - Déclaration préalable Ajouter la nouvelle demande depuis le menu sans validation du formulaire ${args_demande} ${args_petitionnaire_01} # Type de dossier : DP; Natures des travaux attendues : FT 031 DP @{nature_travaux_ok} = Create List ${nature_travaux_DP.libelle} Select Multiple From Chosen List Should Contain List nature_travaux ${nature_travaux_ok} @{nature_travaux_ko} = Create List ${nature_travaux_CU.libelle} ${nature_travaux_CUTT.libelle} ${nature_travaux_CUP.libelle} Select Multiple From Chosen List Should Not Contain List nature_travaux ${nature_travaux_ko} # Type de dossier : CU; Natures des travaux attendues : FT 031 CU Select From Chosen List dossier_autorisation_type_detaille CU - Certificat d'urbanisme @{nature_travaux_ok} = Create List ${nature_travaux_CU.libelle} Select Multiple From Chosen List Should Contain List nature_travaux ${nature_travaux_ok} @{nature_travaux_ko} = Create List ${nature_travaux_DP.libelle} ${nature_travaux_CUTT.libelle} ${nature_travaux_CUP.libelle} Select Multiple From Chosen List Should Not Contain List nature_travaux ${nature_travaux_ko} # Test de l'enregistrement de la nature des travaux Select From Multiple Chosen List nature_travaux ${nature_travaux_ok} Click On Submit Button Until Message Création du dossier d'autorisation # Accès au dossier d'instruction Click Link css=#link_demande_dossier_instruction # Récupération du numéro de dossier pour la suite des tests ${dossier_instruction} = Get Text css=#dossier_libelle # Affichage de la nature des travaux depuis le contexte : dossiers d'instruction Element Should Contain css=#nature_travaux ${nature_travaux_CU.libelle}