*** Settings *** Documentation Envoi en signature dans le parapheur # On inclut les mots-clefs Resource resources/resources.robot # On ouvre et on ferme le navigateur respectivement au début et à la fin # du Test Suite. Suite Setup For Suite Setup Suite Teardown For Suite Teardown *** Test Cases *** Constitution du jeu de données # Copie le fichier de configuration pour le connecteur test du parapheur Copy File ..${/}tests${/}binary_files${/}electronicsignature_test${/}electronicsignature.inc.php ..${/}dyn${/} # Isolation du contexte &{librecom_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_ELECSIGN ... departement=020 ... commune=001 ... insee=20001 ... direction_code=H ... direction_libelle=Direction de LIBRECOM_ELECSIGN ... direction_chef=Chef ... division_code=H ... division_libelle=Division H ... division_chef=Chef ... guichet_om_utilisateur_nom=Fabienne St-Jean ... guichet_om_utilisateur_email=fstjean@openads-test.fr ... guichet_om_utilisateur_login=fstjeanbon ... guichet_om_utilisateur_pwd=fstjeanbon ... instr_om_utilisateur_nom=Zara Cliche ... instr_om_utilisateur_email=zcliche@openads-test.fr ... instr_om_utilisateur_login=zclichebon ... instr_om_utilisateur_pwd=zclichebon Isolation d'un contexte ${librecom_values} # Ajout des signataires &{args_signataire_case_ok_1} = Create Dictionary ... civilite=Monsieur ... nom=TEST147SIGNATURENOM1 ... prenom=TEST147SIGNATUREPRENOM1 ... qualite=TEST147SIGNATUREQUALITE1 ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=case8@test.test Ajouter le signataire depuis le menu ${args_signataire_case_ok_1} Set Suite Variable ${args_signataire_case_ok_1} &{args_signataire_case_ok_2} = Create Dictionary ... civilite=Monsieur ... nom=TEST147SIGNATURENOM2 ... prenom=TEST147SIGNATUREPRENOM2 ... qualite=TEST147SIGNATUREQUALITE2 ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=case8@test.test Ajouter le signataire depuis le menu ${args_signataire_case_ok_2} Set Suite Variable ${args_signataire_case_ok_2} &{args_signataire_validateur_1} = Create Dictionary ... civilite=Monsieur ... nom=140_VAL_NOM_1 ... prenom=140_VAL_PRENOM_1 ... qualite=140_VAL_QUALITE_1 ... habilitation_parapheur=Peut valider et signer ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=case7@test.test ${signataire_validateur_1} = Ajouter le signataire depuis le menu ${args_signataire_validateur_1} Set Suite Variable ${signataire_validateur_1} Set Suite Variable ${args_signataire_validateur_1} &{args_signataire_validateur_2} = Create Dictionary ... civilite=Monsieur ... civilite=Monsieur ... nom=140_VAL_NOM_2 ... prenom=140_VAL_PRENOM_2 ... qualite=140_VAL_QUALITE_2 ... habilitation_parapheur=Peut valider et signer ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=case8@test.test ${signataire_validateur_2} = Ajouter le signataire depuis le menu ${args_signataire_validateur_2} Set Suite Variable ${signataire_validateur_2} Set Suite Variable ${args_signataire_validateur_2} Circuit de validation [Documentation] Un circuit de validation peut être défini sur une instruction : ... - si l'instruction peut être envoyée en signature ... - si l'option_circuit_validation est activée ... Une action est alors rendue disponible sur le portlet de l'instruction. ... Cette action ouvre un popup de sélection des validateurs ... Un signataire arreté peut être validateur lorsque son paramètre habilitation_parapheur est défini sur : ... 'Peut valider' ou 'Peut valider et signer' Depuis la page d'accueil admin admin &{om_param} = Create Dictionary ... libelle=option_circuit_validation ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} # Présence de l'habilitation parapheur en paramétrage du signataire Depuis le contexte du signataire ${signataire_validateur_1} Element Should Contain habilitation_parapheur Peut valider et signer ${instruction_libelle} Set Variable accepter un dossier sans réserve &{args_petitionnaire} = Create Dictionary ... particulier_nom=TEST140CIRCUIT_VALIDNOM1 ... particulier_prenom=TEST140CIRCUIT_VALIDPRENOM1 ... om_collectivite=LIBRECOM_ELECSIGN &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... om_collectivite=LIBRECOM_ELECSIGN ${di_case_validateurs} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI et la finaliser ${di_case_validateurs} ${instruction_libelle} signataire_arrete=${args_signataire_case_ok_1.prenom} ${args_signataire_case_ok_1.nom} Depuis l'instruction du dossier d'instruction ${di_case_validateurs} ${instruction_libelle} # Présence de l'action de sélection des validateurs Page Should Contain Sélectionner les validateurs # Présence du champ des validateurs # Page Should Contain Element Validateurs # À la sélection des validateurs, ils doivent apparaitre dans l'ordre choisi sur le formulaire (champ 'validateurs') ${liste_validateurs_ordre_1} = Create List ${args_signataire_validateur_1.prenom} ${args_signataire_validateur_1.nom} (${args_signataire_validateur_1.qualite}) ${args_signataire_validateur_2.prenom} ${args_signataire_validateur_2.nom} (${args_signataire_validateur_2.qualite}) Sélectionner les validateurs ${liste_validateurs_ordre_1} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain validateurs 1. ${args_signataire_validateur_1.prenom} ${args_signataire_validateur_1.nom} (${args_signataire_validateur_1.qualite})\n2. ${args_signataire_validateur_2.prenom} ${args_signataire_validateur_2.nom} (${args_signataire_validateur_2.qualite}) Supprimer les validateurs # L'ordre est changé et on vérifie l'application sur le formulaire ${liste_validateurs_ordre_2} = Create List ${args_signataire_validateur_2.prenom} ${args_signataire_validateur_2.nom} (${args_signataire_validateur_2.qualite}) ${args_signataire_validateur_1.prenom} ${args_signataire_validateur_1.nom} (${args_signataire_validateur_1.qualite}) Sélectionner les validateurs ${liste_validateurs_ordre_2} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain validateurs 1. ${args_signataire_validateur_2.prenom} ${args_signataire_validateur_2.nom} (${args_signataire_validateur_2.qualite})\n2. ${args_signataire_validateur_1.prenom} ${args_signataire_validateur_1.nom} (${args_signataire_validateur_1.qualite}) # Envoi en signature Click On SubForm Portlet Action instruction envoyer_a_signature modale Cliquer sur le bouton de la fenêtre modale Confirmer Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform Le document a été envoyé pour signature dans le parapheur. Reset - Circuit de validation Depuis la page d'accueil admin admin Remove File ..${/}dyn${/}electronicsignature.inc.php &{param_values} = Create Dictionary ... delete=true ... libelle=option_circuit_validation ... om_collectivite=agglo Gerer le paramètre par WS ${param_values}