*** Settings *** Documentation Test les dépôts de demandes # 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 *** Création du jeu de données Demande_030_020 [Documentation] L'objet de ce 'Test Case' est de constituer le jeu de données Run Keyword If '${CONTEXT_DEMANDE_CREATED}' == 'False' Initialisation du jeu de données Demande_03 Set Global Variable ${CONTEXT_DEMANDE_CREATED} True Affectation automatique [Documentation] Ce test case a pour but de vérifier le fonctionnement de ... l'affectation automatique des dossiers en fonction de leur type de dossier ... d'autorisation détaillé, du type de dossier d'instruction et en fonction ... du code quartier des références cadastrales. ## Cas d'utilisation n°1 : dossier affecté à l'instructeur agglo car aucun instructeur # mono ne correspond au type de dossier d'autorisation détaillé Depuis la page d'accueil guichet guichet &{args_petitionnaire} = Create Dictionary ... particulier_nom=Morneau ... particulier_prenom=Gérard &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=PCA - Permis de construire comprenant ou non des démolitions ... demande_type=Dépôt Initial ${di_libelle} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} Click Element css=a#link_demande_recepisse Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Dossier suivi par Page Should Contain Poly Com Marseille Close PDF Click Element link_demande_dossier_instruction Wait Until Element Is Visible instructeur Element Text Should Be instructeur Poly Com Marseille (J) ## Cas d'utilisation n°2 : dossier PCI avec code quartier 806 -> affectation à Louis Laurent &{args_petitionnaire} = Create Dictionary ... particulier_nom=Morneau ... particulier_prenom=Gérard @{ref_cad} = Create List 806 AB 0025 A 0030 &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... terrain_references_cadastrales=${ref_cad} ${di_libelle} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} Click Element css=a#link_demande_recepisse Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Dossier suivi par Page Should Contain Louis Laurent Close PDF Click Element link_demande_dossier_instruction Wait Until Element Is Visible instructeur Element Text Should Be instructeur Louis Laurent (H) ## Cas d'utilisation n°3 : dossier PCI avec code quartier 801 -> affectation à Pierre Martin &{args_petitionnaire} = Create Dictionary ... particulier_nom=Morneau ... particulier_prenom=Gérard @{ref_cad} = Create List 801 AB 0025 A 0030 &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... terrain_references_cadastrales=${ref_cad} ${di_libelle2} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} Click Element css=a#link_demande_recepisse Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Dossier suivi par Page Should Contain Pierre Martin Close PDF Click Element link_demande_dossier_instruction Wait Until Element Is Visible instructeur Element Text Should Be instructeur Pierre Martin (H) ## Cas d'utilisation n°4 : dossier PCI avec code quartier 801 et type DI initial -> affectation à Louis Laurent # et non pas à Pierre Martin Depuis la page d'accueil admin admin &{instr} = Create Dictionary ... nom=Andrea Galarneau ... division=subdivision H ... instructeur_qualite=instructeur Ajouter l'instructeur ${instr} &{aff_auto} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... instructeur=${instr.nom} (H) ... dossier_instruction_type=Permis de construire pour une maison individuelle et / ou ses annexes - Initial (P) ... arrondissement=1 ... quartier=01 – BELSUNCE Ajouter l'affectation depuis le menu ${aff_auto} # On crée une nouvelle demande via le tableau de bord &{args_petitionnaire} = Create Dictionary ... particulier_nom=Perrault ... particulier_prenom=Sophie ... om_collectivite=MARSEILLE @{ref_cad} = Create List 801 AB 0025 A 0030 &{args_demande} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... terrain_references_cadastrales=${ref_cad} ${di_libelle} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Depuis le contexte du dossier d'instruction ${di_libelle} Form Static Value Should Contain css=#instructeur ${instr.nom} # Supprimer l'affectation depuis le menu ${aff_auto.instructeur} ${aff_auto.dossier_instruction_type} Affectation automatique améliorée [Documentation] Ce test case a pour but de vérifier le fonctionnement de ... l'affectation automatique des dossiers en fonction de l'affectation ... manuellement sélectionnée. # Sans affectation manuelle définie le champs d'affectation automatique n'est pas montré # dans la nouvelle demande Depuis la page d'accueil guichet guichet Depuis le contexte de nouvelle demande via l'URL Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Be Visible css=select#affectation_automatique # Ajout du paramétrage d'affectation automatiques avec affectation manuelle Depuis la page d'accueil admin admin &{aff_auto_marseille_1} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... instructeur=Instr. Service Marseille (H) ... affectation_manuelle=MARS - Instr. Service Marseille Ajouter l'affectation depuis le menu ${aff_auto_marseille_1} &{aff_auto_marseille_2} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... instructeur=Pierre Martin (H) ... affectation_manuelle=MARS - P. Martin Ajouter l'affectation depuis le menu ${aff_auto_marseille_2} &{aff_auto_marseille_3} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=PCA - Permis de construire comprenant ou non des démolitions ... demande_type=Dépôt Initial ... instructeur=Roland Richard (J) ... affectation_manuelle=MARS - R. Richard Ajouter l'affectation depuis le menu ${aff_auto_marseille_3} &{aff_auto_allauch} = Create Dictionary ... om_collectivite=ALLAUCH ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... instructeur=Martine Nadeau (H) ... affectation_manuelle=ALLAUCH - M. Nadeau Ajouter l'affectation depuis le menu ${aff_auto_allauch} # Avec une affectation manuelle définie, le champs d'affectation automatique est présent # dans la nouvelle demande Depuis la page d'accueil guichet guichet Depuis le contexte de nouvelle demande via l'URL Select From Chosen List dossier_autorisation_type_detaille PCI - Permis de construire pour une maison individuelle et / ou ses annexes Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=select#affectation_automatique ${aff_auto_mars_pcmi_list} = Create List choisir affectation automatique MARS - Instr. Service Marseille MARS - P. Martin ${aff_auto_list} = Get List Items css=select#affectation_automatique Lists Should Be Equal ${aff_auto_list} ${aff_auto_mars_pcmi_list} # Lorsqu'il y a plusieurs affectations automatiques, les affectations automatiques sont mises à jour # en fonction de la sélection du DAdt sélectionné Select From Chosen List dossier_autorisation_type_detaille PCA - Permis de construire comprenant ou non des démolitions Wait Until Element Is Visible css=select#demande_type Select From List By Label css=select#demande_type Dépôt Initial Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=select#affectation_automatique ${aff_auto_mars_pc_list} = Create List choisir affectation automatique MARS - R. Richard ${aff_auto_list} = Get List Items css=select#affectation_automatique Lists Should Be Equal ${aff_auto_list} ${aff_auto_mars_pc_list} # Lorsqu'il y a plusieurs affectations automatiques, les affectations automatiques sont mises à jour # en fonction de la sélection de la collectivité sélectionnée Depuis la page d'accueil instrpolycomm3 instrpolycomm3 Depuis le contexte de nouvelle demande via l'URL Select From Chosen List dossier_autorisation_type_detaille PCI - Permis de construire pour une maison individuelle et / ou ses annexes Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=select#affectation_automatique ${aff_auto_allauch_pcmi_list} = Create List choisir affectation automatique ALLAUCH - M. Nadeau ${aff_auto_list} = Get List Items css=select#affectation_automatique Lists Should Be Equal ${aff_auto_list} ${aff_auto_allauch_pcmi_list} # Si aucune affectation manuelle n'est défini, l'affectation # du dossier doit être celle par défaut (tenant compte des autres affectation automatiques # non-manuelles) &{args_petitionnaire_1} = Create Dictionary ... qualite=particulier ... particulier_nom=DEMANDEAFFAUTO1 ... particulier_prenom=TEST &{args_autres_demand_1} = Create Dictionary ... contrevenant_principal=${args_petitionnaire_1} &{args_demande_1} = Create Dictionary ... dossier_autorisation_type_detaille=IN - Infraction Depuis la page d'accueil juriste juriste ${num_di_1} = Ajouter la nouvelle demande ${args_demande_1} ${EMPTY} ${args_autres_demand_1} menu=contentieux ${instr_1} = Obtenir l'instructeur du dossier d'instruction ${num_di_1} menu=infraction Should Be True "${instr_1}" == "Juriste (H)" ${instr_sec_1} = Obtenir l'instructeur secondaire du dossier d'instruction ${num_di_1} menu=infraction Should Be True "${instr_sec_1}" == "Technicien (H)" # Si aucune valeur n'est sélectionnée pour l'affectation automatique, l'affectation # du dossier doit être celle par défaut (tenant compte des autres affectation automatiques # non-manuelles) &{args_petitionnaire_2} = Create Dictionary ... qualite=particulier ... particulier_nom=DEMANDEAFFAUTO2 ... particulier_prenom=TEST &{args_demande_2} = Create Dictionary ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes Depuis la page d'accueil guichet guichet ${num_di_2} = Ajouter la nouvelle demande ${args_demande_2} ${args_petitionnaire_2} ${instr_2} = Obtenir l'instructeur du dossier d'instruction ${num_di_2} Should Be True "${instr_2}" == "Louis Laurent (H)" # Si l'affectation automatique est sélectionnée manuellement, le dossier doit être affecté à # l'instructeur spécifié dans l'affectation automatique &{args_petitionnaire_3} = Create Dictionary ... qualite=particulier ... particulier_nom=DEMANDEAFFAUTO3 ... particulier_prenom=TEST &{args_demande_3} = Create Dictionary ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... affectation_automatique=MARS - Instr. Service Marseille ${num_di_3} = Ajouter la nouvelle demande ${args_demande_3} ${args_petitionnaire_3} ${instr_3} = Obtenir l'instructeur du dossier d'instruction ${num_di_3} Should Be True "${instr_3}" == "Instr. Service Marseille (H)" # Suppression des affectations automatiques Depuis la page d'accueil admin admin Supprimer l'affectation manuelle depuis le menu MARS - Instr. Service Marseille Supprimer l'affectation manuelle depuis le menu MARS - P. Martin Supprimer l'affectation manuelle depuis le menu MARS - R. Richard Supprimer l'affectation manuelle depuis le menu ALLAUCH - M. Nadeau TNR Test des codes insee des communes contenant des lettres pour l'affectation automatique [Documentation] Ce test case a pour but de vérifier que les codes insee ... contenant des lettres ne sont pas rejeté lors de la vérification Depuis la page d'accueil admin admin # Activation du paramètre permettant d'accéder au champ commune &{param_division} = Create Dictionary ... libelle=option_dossier_commune ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_division} # L'affectation doit fonctionner &{aff_auto_agglo_1} = Create Dictionary ... om_collectivite=agglo ... communes=13014,2A004,74000 ... affectation_manuelle=agglo - test code insee 1 Ajouter l'affectation depuis le menu ${aff_auto_agglo_1} # Les codes insee non valide doivent être rejeté &{aff_auto_agglo_2} = Create Dictionary ... om_collectivite=agglo ... communes=13#04 &{aff_auto_agglo_3} = Create Dictionary ... om_collectivite=agglo ... communes=13045, : FOR ${index} IN RANGE 2 3 \ Depuis le tableau des affectations \ Click On Add Button \ Saisir l'affectation ${aff_auto_agglo_${index}} \ Click On Submit Button \ Error Message Should Contain Valeur de communes invalide (autorisés: chiffres et virgules, 1er et dernier caractères différent d'une virgule). Reset params - TNR Test des codes insee des communes contenant des lettres pour l'affectation automatique # Réinitialisation des paramètres Supprimer l'affectation manuelle depuis le menu agglo - test code insee 1 &{param_division} = Create Dictionary ... libelle=option_dossier_commune ... delete=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_division}