*** 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${/} Depuis la page d'accueil admin admin # 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=fstjean ... guichet_om_utilisateur_pwd=fstjean ... instr_om_utilisateur_nom=Zara Cliche ... instr_om_utilisateur_email=zcliche@openads-test.fr ... instr_om_utilisateur_login=zcliche ... instr_om_utilisateur_pwd=zcliche Isolation d'un contexte ${librecom_values} # Ajout des sinataires &{args_signataire_case_err_1} = Create Dictionary ... civilite=Monsieur ... nom=TEST140SIGNATURENOM1 ... prenom=TEST140SIGNATUREPRENOM1 ... qualite=TEST140SIGNATUREQUALITE1 ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=caseerror1@test.test Ajouter le signataire depuis le menu ${args_signataire_case_err_1} Set Suite Variable ${args_signataire_case_err_1} &{args_signataire_case_err_2} = Create Dictionary ... civilite=Monsieur ... nom=TEST140SIGNATURENOM2 ... prenom=TEST140SIGNATUREPRENOM2 ... qualite=TEST140SIGNATUREQUALITE2 ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=caseerror2@test.test Ajouter le signataire depuis le menu ${args_signataire_case_err_2} Set Suite Variable ${args_signataire_case_err_2} &{args_signataire_case_err_3} = Create Dictionary ... civilite=Monsieur ... nom=TEST140SIGNATURENOM3 ... prenom=TEST140SIGNATUREPRENOM3 ... qualite=TEST140SIGNATUREQUALITE3 ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=caseerror3@test.test Ajouter le signataire depuis le menu ${args_signataire_case_err_3} Set Suite Variable ${args_signataire_case_err_3} &{args_signataire_case_ok_1} = Create Dictionary ... civilite=Monsieur ... nom=TEST140SIGNATURENOM4 ... prenom=TEST140SIGNATUREPRENOM4 ... qualite=TEST140SIGNATUREQUALITE4 ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=case1@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=TEST140SIGNATURENOM5 ... prenom=TEST140SIGNATUREPRENOM5 ... qualite=TEST140SIGNATUREQUALITE5 ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=case2@test.test Ajouter le signataire depuis le menu ${args_signataire_case_ok_2} Set Suite Variable ${args_signataire_case_ok_2} &{args_signataire_case_ok_3} = Create Dictionary ... civilite=Monsieur ... nom=TEST140SIGNATURENOM6 ... prenom=TEST140SIGNATUREPRENOM6 ... qualite=TEST140SIGNATUREQUALITE6 ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=case3@test.test Ajouter le signataire depuis le menu ${args_signataire_case_ok_3} Set Suite Variable ${args_signataire_case_ok_3} &{args_signataire_case_ok_4} = Create Dictionary ... civilite=Monsieur ... nom=TEST140SIGNATURENOM7 ... prenom=TEST140SIGNATUREPRENOM7 ... qualite=TEST140SIGNATUREQUALITE7 ... signature=X ... defaut=false ... om_collectivite=LIBRECOM_ELECSIGN ... email=case4@test.test Ajouter le signataire depuis le menu ${args_signataire_case_ok_4} Set Suite Variable ${args_signataire_case_ok_4} Envoi en signature des documents dans le parapheur avec un connecteur de test [Documentation] Vérification de 6 scénarios avec le parapheur, 3 avec ... erreur et 3 sans erreur. ... ... Les scénarios avec erreurs : ... 1/ Erreur lors de l'envoi en signature, le connecteur de test retourne un ... message d'erreur spécifique. ... 2/ Erreur lors de la récupération du statut du parapheur, le connecteur ... de test retourne un message d'erreur spécifique. ... 3/ Erreur lors de la récupération du document signé, le connecteur de ... test retourne un message spécifique. ... ... Les scénarios sans erreurs : ... 1/ Le statut du parapheur récupéré est toujours le même que celui lors ... de l'envoi en signature, seulement la date d'envoi en signature sur ... l'instruction est modifiée. Les dates d'envoi et de retour signature ne ... sont plus modifiable depuis le suivi des dates. ... 2/ Le statut du parapheur récupéré est différent de celui lors de l'envoi ... en signature et il s'agit d'un 'finished' avec récupération du document ... signé, donc modification de l'édition et ajout de la date de retour ... signature sur l'instruction. ... 3/ Le statut du parapheur récupéré est différent de celui lors de l'envoi ... en signature et il s'agit d'un 'canceled', l'action d'envoi en signature ... doit être à nouveau possible depuis l'instruction. Depuis la page d'accueil admin admin # Cas d'erreur 1 &{args_petitionnaire} = Create Dictionary ... particulier_nom=TEST140SIGNATUREPETNOM1 ... particulier_prenom=TEST140SIGNATUREPETPRENOM1 ... 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_err_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI et la finaliser ${di_case_err_1} accepter un dossier sans réserve signataire_arrete=${args_signataire_case_err_1.prenom} ${args_signataire_case_err_1.nom} 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} Error Message Should Contain In Subform Produit une exception sur la méthode send_for_signature # Cas d'erreur 2 &{args_petitionnaire} = Create Dictionary ... particulier_nom=TEST140SIGNATUREPETNOM2 ... particulier_prenom=TEST140SIGNATUREPETPRENOM2 ... 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_err_2} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI et la finaliser ${di_case_err_2} accepter un dossier sans réserve signataire_arrete=${args_signataire_case_err_2.prenom} ${args_signataire_case_err_2.nom} 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. ${json} = Set Variable {"module":"update_parapheur_datas"} Vérifier le code retour du web service et vérifier que son message contient Post maintenance ${json} 200 Produit une exception sur la méthode get_signature_status # Cas d'erreur 3 &{args_petitionnaire} = Create Dictionary ... particulier_nom=TEST140SIGNATUREPETNOM3 ... particulier_prenom=TEST140SIGNATUREPETPRENOM3 ... 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_err_3} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI et la finaliser ${di_case_err_3} accepter un dossier sans réserve signataire_arrete=${args_signataire_case_err_3.prenom} ${args_signataire_case_err_3.nom} 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. ${json} = Set Variable {"module":"update_parapheur_datas"} Vérifier le code retour du web service et vérifier que son message contient Post maintenance ${json} 200 Produit une exception sur la méthode get_signed_document # Cas succès 1 &{args_petitionnaire} = Create Dictionary ... particulier_nom=TEST140SIGNATUREPETNOM4 ... particulier_prenom=TEST140SIGNATUREPETPRENOM4 ... 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_ok_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI et la finaliser ${di_case_ok_1} accepter un dossier sans réserve signataire_arrete=${args_signataire_case_ok_1.prenom} ${args_signataire_case_ok_1.nom} 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. Form Static Value Should Be css=#date_envoi_signature ${date_ddmmyyyy} Form Static Value Should Be css=#statut_signature en cours de signature Portlet Action Should Not Be In SubForm instruction envoyer_a_signature Click On SubForm Portlet Action instruction modifier_suivi Element Should Be Visible css=#date_envoi_signature[readonly="readonly"] Element Should Be Visible css=#date_retour_signature[readonly="readonly"] ${json} = Set Variable {"module":"update_parapheur_datas"} Vérifier le code retour du web service et vérifier que son message contient Post maintenance ${json} 200 Rien à faire sur l'instruction # Cas succès 2 &{args_petitionnaire} = Create Dictionary ... particulier_nom=TEST140SIGNATUREPETNOM5 ... particulier_prenom=TEST140SIGNATUREPETPRENOM5 ... 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_ok_2} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI et la finaliser ${di_case_ok_2} accepter un dossier sans réserve signataire_arrete=${args_signataire_case_ok_2.prenom} ${args_signataire_case_ok_2.nom} 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. Form Static Value Should Be css=#date_envoi_signature ${date_ddmmyyyy} Form Static Value Should Be css=#statut_signature en cours de signature Portlet Action Should Not Be In SubForm instruction envoyer_a_signature ${id_instruction} = Get Value css=.form-content input#instruction ${json} = Set Variable {"module":"update_parapheur_datas"} Vérifier le code retour du web service et vérifier que son message contient Post maintenance ${json} 200 et son document ont bien été mis à jour Depuis l'instruction du dossier d'instruction ${di_case_ok_2} ${id_instruction} Form Static Value Should Be css=#date_retour_signature ${date_ddmmyyyy} Form Static Value Should Be css=#statut_signature signé Portlet Action Should Not Be In SubForm instruction envoyer_a_signature Form Value Should Contain css=#commentaire_signature Test commentaire document signé. Click On SubForm Portlet Action instruction edition new_window Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain PARAPHEUR CONNECTEUR DE TEST Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain DOCUMENT SIGNÉ Close PDF # Cas succès 3 &{args_petitionnaire} = Create Dictionary ... particulier_nom=TEST140SIGNATUREPETNOM6 ... particulier_prenom=TEST140SIGNATUREPETPRENOM6 ... 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_ok_3} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI et la finaliser ${di_case_ok_3} accepter un dossier sans réserve signataire_arrete=${args_signataire_case_ok_3.prenom} ${args_signataire_case_ok_3.nom} 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. Form Static Value Should Be css=#date_envoi_signature ${date_ddmmyyyy} Form Static Value Should Be css=#statut_signature en cours de signature Portlet Action Should Not Be In SubForm instruction envoyer_a_signature ${id_instruction} = Get Value css=.form-content input#instruction ${json} = Set Variable {"module":"update_parapheur_datas"} Vérifier le code retour du web service et vérifier que son message contient Post maintenance ${json} 200 a bien été mise à jour Depuis l'instruction du dossier d'instruction ${di_case_ok_3} ${id_instruction} Form Static Value Should Be css=#date_envoi_signature ${EMPTY} Form Static Value Should Be css=#statut_signature signature annulée Form Value Should Contain css=#commentaire_signature Test d'un commentaire refus. Portlet Action Should Be In SubForm instruction envoyer_a_signature Vérification de l'utilisation de l'envoi en signature avec relecture [Documentation] Permet de vérifier si l'envoi en signature avec relecture fonctionne correctement. ... Une option est mise à disposition pour activer l'envoi en signature avec relecture. Elle se nomme "option_parapheur_relecture" ... Lorsque cette option est activée l'action "Envoi en signature avec relecture" est disponible dans l'instruction. ... Lorsqu'on envoi le document en signature avec relecture cette information est spécifié dans le tableau historique sous l'adresse ... email du signataire. ... L'action est similaire à celle d'envoi en signature avec un paramètre en plus. Le signataire utilisé sera le case_ok_4. # Copie le fichier de configuration pour le connecteur test du parapheur Copy File ..${/}tests${/}binary_files${/}electronicsignature_test${/}electronicsignature.inc.php ..${/}dyn${/} Depuis la page d'accueil admin admin # Active l'action d'envoi en signature avec relecture Run sed -i 's/"is_forced_view_files" => null/"is_forced_view_files" => true/' ../dyn/electronicsignature.inc.php # Cas succès 4 &{args_petitionnaire} = Create Dictionary ... particulier_nom=TEST140SIGNATUREPETNOM7 ... particulier_prenom=TEST140SIGNATUREPETPRENOM7 ... 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_ok_4} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI et la finaliser ${di_case_ok_4} accepter un dossier sans réserve signataire_arrete=${args_signataire_case_ok_4.prenom} ${args_signataire_case_ok_4.nom} Click On SubForm Portlet Action instruction envoyer_a_signature_relecture 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. Form Static Value Should Be css=#date_envoi_signature ${date_ddmmyyyy} Form Static Value Should Be css=#statut_signature en cours de signature Portlet Action Should Not Be In SubForm instruction envoyer_a_signature Portlet Action Should Not Be In SubForm instruction envoyer_a_signature_relecture Form Value Should Contain css=#commentaire_signature Relecture demandée. ${id_instruction} = Get Value css=.form-content input#instruction ${json} = Set Variable {"module":"update_parapheur_datas"} Vérifier le code retour du web service et vérifier que son message contient Post maintenance ${json} 200 a bien été mise à jour Depuis l'instruction du dossier d'instruction ${di_case_ok_4} ${id_instruction} Form Static Value Should Be css=#date_envoi_signature ${EMPTY} Form Static Value Should Be css=#statut_signature signature annulée Form Value Should Contain css=#commentaire_signature Test d'un commentaire refus. Portlet Action Should Be In SubForm instruction envoyer_a_signature Portlet Action Should Be In SubForm instruction envoyer_a_signature_relecture # Désactive l'action d'envoi en signature avec relecture Run sed -i 's/"is_forced_view_files" => true/"is_forced_view_files" => null/' ../dyn/electronicsignature.inc.php Depuis l'instruction du dossier d'instruction ${di_case_ok_4} ${id_instruction} Portlet Action Should Be In SubForm instruction envoyer_a_signature Portlet Action Should Not Be In SubForm instruction envoyer_a_signature_relecture Suppression du fichier de configuration du connecteur parapheur de test Remove File ..${/}dyn${/}electronicsignature.inc.php