*** Settings *** Documentation Test la bonne gestion du nommage des noms de fichier des instructions d'évènements # 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] Constitution du jeu de données nécessaire pour les tests. Depuis la page d'accueil admin admin # Ajout d'un 1er DI (sans type de document) &{args_petitionnaire_1} = Create Dictionary ... particulier_civilite=Monsieur ... particulier_nom=Cérien ... particulier_prenom=Jean ... om_collectivite=MARSEILLE &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... om_collectivite=MARSEILLE ${di_1}= Ajouter la nouvelle demande depuis le menu ${args_demande} ${args_petitionnaire_1} Set Suite Variable ${di_1} Set Suite Variable ${args_petitionnaire_1} # Formatage du nom de fichier à comparer ${current_date}= Get Current Date result_format=%Y%m%d ${di_1_se} = Sans espace ${di_1} ${di_1_minus} = Convert To Lowercase ${di_1_se} ${part_of_name_file_1} = Set Variable ${di_1_minus}_${current_date} Set Suite Variable ${part_of_name_file_1} # On ajoute deux instructions d'évènements, sans modifier l'évènement en lien Ajouter une instruction au DI ${di_1} Immeuble classe Ajouter une instruction au DI ${di_1} accepter un dossier avec reserve # Ajout d'un 2eme DI (avec type de document) &{args_petitionnaire_2} = Create Dictionary ... particulier_civilite=Monsieur ... particulier_nom=Cépaplus ... particulier_prenom=Jean ... om_collectivite=MARSEILLE &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... om_collectivite=MARSEILLE ${di_2}= Ajouter la nouvelle demande depuis le menu ${args_demande} ${args_petitionnaire_2} Set Suite Variable ${di_2} Set Suite Variable ${args_petitionnaire_2} # Formatage du nom de fichier à comparer ${di_2_se} = Sans espace ${di_2} ${di_2_minus} = Convert To Lowercase ${di_2_se} ${part_of_name_file_2} = Set Variable ${di_2_minus}_${current_date} Set Suite Variable ${part_of_name_file_2} # On modifie l'évènement en ajoutant un document_type ${new_values}= Create Dictionary ... libelle=Immeuble classe ... document_type=Attestation Modifier l'événement ${new_values} # On modifie l'évènement en ajoutant un document_type ${new_values}= Create Dictionary ... libelle=Communauté d'Agglomération ... document_type=Constat d’infraction Modifier l'événement ${new_values} # On ajoute deux instructions d'évènement, en ayant modifié l'évènement en lien avec le DI, pour priorisé le type de document # sur la lettre type lors de la génération du nom de fichier Ajouter une instruction au DI ${di_2} Immeuble classe Ajouter une instruction au DI ${di_2} Communauté d'Agglomération On vérifie que l'édition et la finalisation se passe correctement [Documentation] On vérifie que l'édition et la finalisation se passe correctement pour les deux DI ajoutés. ... Ainsi que le contenu des pdf générés. Depuis la page d'accueil admin admin # Pour le DI 1 # Pour l'instruction "Immeuble classe" Depuis l'instruction du dossier d'instruction ${di_1} Immeuble classe # # On ouvre le PDF de l'instruction Click On SubForm Portlet Action instruction edition new_window Open PDF ${OM_PDF_TITLE} Sleep 1 La page ne doit pas contenir d'erreur Page Should Contain ${args_petitionnaire_1.particulier_civilite} ${args_petitionnaire_1.particulier_nom} ${args_petitionnaire_1.particulier_prenom} Page Should Contain PROLONGATION D'UN DELAI D'INSTRUCTION # On ferme le PDF Close PDF Depuis l'instruction du dossier d'instruction ${di_1} Immeuble classe # On finalise Click On SubForm Portlet Action instruction finaliser Valid Message Should Contain La finalisation du document s'est effectuée avec succès. # Pour l'instruction "accepter un dossier avec reserve" Depuis l'instruction du dossier d'instruction ${di_1} accepter un dossier avec reserve # # On ouvre le PDF de l'instruction Click On SubForm Portlet Action instruction edition new_window Open PDF ${OM_PDF_TITLE} Sleep 1 La page ne doit pas contenir d'erreur Page Should Contain ${args_petitionnaire_1.particulier_civilite} ${args_petitionnaire_1.particulier_nom} ${args_petitionnaire_1.particulier_prenom} Page Should Contain ARRETE # On ferme le PDF Close PDF Depuis l'instruction du dossier d'instruction ${di_1} accepter un dossier avec reserve # On finalise Click On SubForm Portlet Action instruction finaliser Valid Message Should Contain La finalisation du document s'est effectuée avec succès. # Pour le DI 2 # Pour l'instruction "Immeuble classe" Depuis l'instruction du dossier d'instruction ${di_2} Immeuble classe # # On ouvre le PDF de l'instruction Click On SubForm Portlet Action instruction edition new_window Open PDF ${OM_PDF_TITLE} Sleep 1 La page ne doit pas contenir d'erreur Page Should Contain ${args_petitionnaire_2.particulier_civilite} ${args_petitionnaire_2.particulier_nom} ${args_petitionnaire_2.particulier_prenom} Page Should Contain PROLONGATION D'UN DELAI D'INSTRUCTION # On ferme le PDF Close PDF Depuis l'instruction du dossier d'instruction ${di_2} Immeuble classe # On finalise Click On SubForm Portlet Action instruction finaliser Valid Message Should Contain La finalisation du document s'est effectuée avec succès. # Pour l'instruction " Communauté d'Agglomération" Depuis l'instruction du dossier d'instruction ${di_2} Communauté d'Agglomération # # On ouvre le PDF de l'instruction Click On SubForm Portlet Action instruction edition new_window Open PDF ${OM_PDF_TITLE} Sleep 1 La page ne doit pas contenir d'erreur Page Should Contain ${args_petitionnaire_2.particulier_civilite} ${args_petitionnaire_2.particulier_nom} ${args_petitionnaire_2.particulier_prenom} Page Should Contain MAJORATION DU DELAI D'INSTRUCTION # On ferme le PDF Close PDF Depuis l'instruction du dossier d'instruction ${di_2} Communauté d'Agglomération # On finalise Click On SubForm Portlet Action instruction finaliser Valid Message Should Contain La finalisation du document s'est effectuée avec succès. Priorisation dans le nommage du type de document face à la lettre type s'il existe [Documentation] On vérifie que le nom du fichier, lors d'une édition ou finalisation, récupère bien ... le type de document s'il existe pour générer le nom du fichier, s'il n'existe pas, on récupère ... l'id de la lettre type pour générer le nom du fichier. Depuis la page d'accueil admin admin # Pour le di_1 c'est la lettre type qui est pris en compte pour le nommage du fichier, car pas de type de # document associé à l'évènement Depuis le contexte du dossier d'instruction ${di_1} On clique sur l'onglet document_numerise Pièces & Documents Click Element css=div[data-view="document_instruction"] # On vérifie que les noms de fichier suivants sont bien présent (prolongation et arrete est récupéré via la lettre type, # car le type de document associé à l'évènement courant n'existe pas) Page Should Contain ${part_of_name_file_1}_recepisse.pdf Page Should Contain ${part_of_name_file_1}_prolongation.pdf Page Should Contain ${part_of_name_file_1}_arrete.pdf # Pour le di_2, c'est le type de document qui est pris en comte pour le nommage du fichier, car il à la priorité # sur la lettre type Depuis le contexte du dossier d'instruction ${di_2} On clique sur l'onglet document_numerise Pièces & Documents Click Element css=div[data-view="document_instruction"] # On vérifie que les noms de fichier suivants sont bien présent (attestation et constat d'infraction est récupéré # via le type de document, ce qui vérifie bien que si le type de document existe, le nom du fichier est impacté) Page Should Contain ${part_of_name_file_2}_recepisse.pdf Page Should Contain ${part_of_name_file_2}_attestation.pdf Page Should Contain ${part_of_name_file_2}_constat-d_infraction.pdf Gestion des noms de fichiers dans les différents tableaux [Documentation] On vérifie que le nom des fichiers sont correctement nommés dans les différents ... tableaux suivants de l'onglet "Pièces & documents" d'un DI : ... "Docs. instruction", "Dossier final", et "Téléchargement" Depuis la page d'accueil admin admin # Pour les noms de fichier sur les différents tableaux du di_1 Depuis le contexte du dossier d'instruction ${di_1} On clique sur l'onglet document_numerise Pièces & Documents Click Element css=div[data-view="document_instruction"] Element Should Contain css=#sousform-document_instruction .tab-listing-container ${part_of_name_file_1}_recepisse.pdf Element Should Contain css=#sousform-document_instruction .tab-listing-container ${part_of_name_file_1}_prolongation.pdf Element Should Contain css=#sousform-document_instruction .tab-listing-container ${part_of_name_file_1}_arrete.pdf On clique sur l'onglet document_numerise Pièces & Documents Click Element css=div[data-view="document_numerise_dossier_final"] Element Should Contain css=.tab-listing-container ${part_of_name_file_1}_recepisse.pdf Element Should Contain css=.tab-listing-container ${part_of_name_file_1}_prolongation.pdf Element Should Contain css=.tab-listing-container ${part_of_name_file_1}_arrete.pdf On clique sur l'onglet document_numerise Pièces & Documents Click Element css=div[data-view="document_numerise_telechargement"] Element Should Contain css=.tab-listing-container ${part_of_name_file_1}_recepisse.pdf Element Should Contain css=.tab-listing-container ${part_of_name_file_1}_prolongation.pdf Element Should Contain css=.tab-listing-container ${part_of_name_file_1}_arrete.pdf # Pour les noms de fichier sur les différents tableaux du di_2 Depuis le contexte du dossier d'instruction ${di_2} On clique sur l'onglet document_numerise Pièces & Documents Click Element css=div[data-view="document_instruction"] Element Should Contain css=#sousform-document_instruction .tab-listing-container ${part_of_name_file_2}_recepisse.pdf Element Should Contain css=#sousform-document_instruction .tab-listing-container ${part_of_name_file_2}_attestation.pdf Element Should Contain css=#sousform-document_instruction .tab-listing-container ${part_of_name_file_2}_constat-d_infraction.pdf On clique sur l'onglet document_numerise Pièces & Documents Click Element css=div[data-view="document_numerise_dossier_final"] Element Should Contain css=.tab-listing-container ${part_of_name_file_2}_recepisse.pdf Element Should Contain css=.tab-listing-container ${part_of_name_file_2}_attestation.pdf Element Should Contain css=.tab-listing-container ${part_of_name_file_2}_constat-d_infraction.pdf On clique sur l'onglet document_numerise Pièces & Documents Click Element css=div[data-view="document_numerise_telechargement"] Element Should Contain css=.tab-listing-container ${part_of_name_file_2}_recepisse.pdf Element Should Contain css=.tab-listing-container ${part_of_name_file_2}_attestation.pdf Element Should Contain css=.tab-listing-container ${part_of_name_file_2}_constat-d_infraction.pdf