*** Settings *** Documentation Test de task. # 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 *** Activation de l'option 'option_notification_piece_numerisee' [Documentation] Il est nécessaire de faire cette manipulation pour éviter le ... FAIL: Element with locator 'dossier_message_id' not found. &{om_param} = Create Dictionary ... libelle=option_notification_piece_numerisee ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} Depuis la page d'accueil admin admin Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU PCI Constitution du jeu de données DI [Documentation] Permet de vérifier le bon fonctionnement de la création des tâches lié à la création d'un dossier d'instruction ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné Depuis la page d'accueil admin admin &{args_dossier} = 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_adresse_localite=TEST302_04_AdresseLocalite &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST302_04_TASKNOM01 ... particulier_prenom=TEST3002_04_TASKPRENOM01 ... localite=TEST3002_04_Localite ... om_collectivite=MARSEILLE ${di1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} &{donnees_techniques_values} = Create Dictionary ... enga_decla_lieu=TEST302_04_engadelalieu ... enga_decla_date=${date_ddmmyyyy} Saisir les données techniques du DI ${di1} ${donnees_techniques_values} ${di1_sans_espace} = Sans espace ${di1} ${di1_da} = Replace String Using Regexp ${di1_sans_espace} [A-Z][0-9]+$ ${EMPTY} Set Suite Variable ${di1} Set Suite Variable ${di1_sans_espace} Set Suite Variable ${di1_da} Depuis le contexte de la catégorie de pièces PLATAU On clique sur l'onglet document_numerise_type Type De Pièces # cocher 'aff_da' et 'aff_service_consulte' soient déjà cochées Click On Add Button JS &{values} = Create Dictionary ... code=PLATAUA ... libelle=Document numerise A de catégorie PLATAU Saisir le type de pièces en sous-formulaire ${values} Click On Submit Button In Subform Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. Click On Back Button In Subform Click On Add Button JS &{values} = Create Dictionary ... code=PLATAUB ... libelle=Document numerise B de catégorie PLATAU Saisir le type de pièces en sous-formulaire ${values} Click On Submit Button In Subform Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. Test complet des tasks liées aux pièces [Documentation] Permet de vérifier le fonctionnement complet de la gestion des pièces et leur taches platau associée. ... Ordre des actions attendues : ... ajout d'une pièce A transmissible -> add task ajout "new" ... modification de la pièce A -> rien ... ajout d'une pièce B transmissible -> add task ajout "new" ... mise en "pending" de la task de la pièces A ... modification de la pièce A -> add task modification "new" ... mise en "pending" des deux tasks de pièces ... modification de la pièce A -> add task modification "new" ... modification de la pièce A -> rien ... modification de la pièce B -> add task modification "new" ... mise en "done" de la task ajout de la pièce B ... modification de la pièce B -> rien ... mise en "pending" de la task modification de la pièce A ... modification de la pièce A -> add task modification "new" ... suppression de la pièce A -> add task suppression "new" ... + mise en "canceled" des tasks modification A ... + pas touche à la task d'ajout qui reste en "pending" Depuis la page d'accueil admin admin # On ajoute un document numérisé A par DI &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=${date_ddmmyyyy} ... document_numerise_type=Document numerise A de catégorie PLATAU Ajouter une pièce depuis le dossier d'instruction ${di1} ${document_numerise_values} ${name_piece_a} = Get Text css=div#sousform-document_numerise div.subtitle span.libelle @{id_piece_a} = Get Regexp Matches ${name_piece_a} ^> ([0-9]+) 1 # -> add task ajout "new" : On vérifie que la tache existe &{task_values} = Create Dictionary ... type=ajout_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output ... object_id=${id_piece_a[0]} Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_ajout_piece_a} = Get Text css=#task # On ajoute un document numérisé B par DI &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel2.pdf ... date_creation=${date_ddmmyyyy} ... document_numerise_type=Document numerise B de catégorie PLATAU Ajouter une pièce depuis le dossier d'instruction ${di1} ${document_numerise_values} ${name_piece_b} = Get Text css=div#sousform-document_numerise div.subtitle span.libelle ${id_piece_b} = Get Regexp Matches ${name_piece_b} ^> ([0-9]+) 1 # -> add task ajout "new" : On vérifie que la tache existe &{task_values} = Create Dictionary ... type=ajout_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output ... object_id=${id_piece_b[0]} Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_ajout_piece_b} = Get Text css=#task # On modifie la pièce A avant qu'elle soit envoyée à Plat'au &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel2.pdf ... date_creation=${date_ddmmyyyy} Modifier une pièce depuis le dossier d'instruction ${di1} Document numerise A de catégorie PLATAU ${document_numerise_values} # -> On vérifie que nous avons toujours une tache d'ajout de la pièce &{task_values} = Create Dictionary ... type=ajout_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output ... object_id=${id_piece_b[0]} Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} # -> On vérifie que nous n'avons pas de tache de modification de la pièce Depuis le menu Moniteur Plat'AU Wait Until Element Is Visible css=div#adv-search-adv-fields input#dossier Wait Until Element Is Visible css=div#adv-search-adv-fields select#type @{select_type} = Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Get List Items type ${status_modification_piece} = Run Keyword And Return Status Should Contain Match ${select_type} Modification pièce (sortant) &{task_values} = Create Dictionary ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output ... object_id=${id_piece_b[0]} Run Keyword If ${status_modification_piece} == True Set To Dictionary ${task_values} type=modification_piece Depuis le listing des tasks à partir de la recherche avancée ${task_values} Element Should Not Contain css=.tab-listing-container Modification pièce (sortant) # mise en "pending" de la tasks ajout de pièce A &{task_values_modif} = Create Dictionary ... state=en cours Modifier la task ${id_ajout_piece_a} ${task_values_modif} # On modifie la pièce A après qu'elle soit envoyée à Plat'au &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=${date_ddmmyyyy} Modifier une pièce depuis le dossier d'instruction ${di1} Document numerise A de catégorie PLATAU ${document_numerise_values} # -> add task modifier "new" : On vérifie que la tache existe &{task_values} = Create Dictionary ... type=modification_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output ... object_id=${id_piece_a[0]} Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_modif_piece_a} = Get Text css=#task # mise en "pending" de la tasks modif de pièce A &{task_values_modif} = Create Dictionary ... state=en cours Modifier la task ${id_modif_piece_a} ${task_values_modif} # mise en "pending" de la tasks ajout de pièce B &{task_values_modif} = Create Dictionary ... state=en cours Modifier la task ${id_ajout_piece_b} ${task_values_modif} # modification de la pièce A &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=${date_ddmmyyyy} Modifier une pièce depuis le dossier d'instruction ${di1} Document numerise A de catégorie PLATAU ${document_numerise_values} # -> add task modifier "new" : On vérifie que la tache existe &{task_values} = Create Dictionary ... type=modification_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output ... object_id=${id_piece_a[0]} Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_modif_piece_a} = Get Text css=#task # modification de la pièce A &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=${date_ddmmyyyy} Modifier une pièce depuis le dossier d'instruction ${di1} Document numerise A de catégorie PLATAU ${document_numerise_values} # -> il ne doit pas y avoir de nouvelle tache de modification ${id_next_task} = Evaluate ${id_modif_piece_a} + 1 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_sans_espace} ajout_piece Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_sans_espace} modification_piece # modification de la pièce B &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=${date_ddmmyyyy} Modifier une pièce depuis le dossier d'instruction ${di1} Document numerise B de catégorie PLATAU ${document_numerise_values} # -> add task modification "new": On vérifie que la tache existe &{task_values} = Create Dictionary ... type=modification_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output ... object_id=${id_piece_b[0]} Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_modif_piece_b} = Get Text css=#task # mise en "done" de la task ajout de la pièce B &{task_values_modif} = Create Dictionary ... state=terminé Modifier la task ${id_ajout_piece_b} ${task_values_modif} # on vérifie que la tache as changer de status &{task_values} = Create Dictionary ... type=ajout_piece ... task=${id_ajout_piece_b} ... stream=output ... link_dossier=${di1_sans_espace} ... state=done Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${status} = Run Keyword And Return Status Open Fieldset task json_payload Run Keyword If '${status}' != 'True' Open Fieldset task json_payload-calculee Element Should Contain css=#json_payload "state": "done", # modification de la pièce B -> rien de nouveau &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=${date_ddmmyyyy} Modifier une pièce depuis le dossier d'instruction ${di1} Document numerise B de catégorie PLATAU ${document_numerise_values} # on vérifie que l'on as qu'une seul tache de modification de la pièce B &{task_values} = Create Dictionary ... type=modification_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output ... object_id=${id_piece_b[0]} Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_modification_piece} = Get Text css=#task ${id_next_task_modification_piece} = Evaluate ${id_modification_piece} + 1 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task_modification_piece} ${di1_sans_espace} # mise en "pending" de la task modification de la pièce A &{task_values_modif} = Create Dictionary ... state=en cours Modifier la task ${id_modif_piece_a} ${task_values_modif} # modification de la pièce A &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel2.pdf ... date_creation=${date_ddmmyyyy} Modifier une pièce depuis le dossier d'instruction ${di1} Document numerise A de catégorie PLATAU ${document_numerise_values} # -> add task modification "new" &{task_values} = Create Dictionary ... type=modification_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} # suppression de la pièce A Supprimer une pièce depuis le dossier d'instruction ${di1} Document numerise A de catégorie PLATAU # -> add task suppression "new" &{task_values} = Create Dictionary ... type=modification_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} # + mise en "canceled" des tasks modification A &{task_values} = Create Dictionary ... type=modification_piece ... dossier=${di1_sans_espace} ... state=canceled ... link_dossier=${di1_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} # + pas touche à la task d'ajout qui reste en "pending" &{task_values} = Create Dictionary ... type=ajout_piece ... dossier=${di1_sans_espace} ... state=pending ... link_dossier=${di1_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} Rendre les types de dossier d'autorisation détaillés utilisés non transmissible à Plat'AU [Documentation] Il est nécessaire de faire cette manipulation pour revenir à un état normal Depuis la page d'accueil admin admin &{args_type_DA_detaille_modification} = Create Dictionary ... dossier_platau=false Modifier type de dossier d'autorisation détaillé PCI ${args_type_DA_detaille_modification} Désactivation de l'option 'option_notification_piece_numerisee' [Documentation] Il est nécessaire de faire cette manipulation pour éviter le ... FAIL: Element with locator 'dossier_message_id' not found. &{om_param} = Create Dictionary ... libelle=option_notification_piece_numerisee ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${om_param}