*** Settings *** Documentation Notification de la présence des annexes PEC lors d'une notification d'un demandeur # On inclut les mots-clefs Resource resources/resources.robot Test Teardown Run Keyword If Test Failed Capture Page Screenshot # On ouvre et on ferme le navigateur respectivement au début et à la fin # du Test Suite. Suite Setup Run Keywords ... For Suite Setup ... AND Activation des options des task Suite Teardown Run Keywords ... Desactivation des options des task ... AND For Suite Teardown *** Test Cases *** Constitution du jeu de données [Documentation] L'objet de ce 'Test Case' est de constituer le jeu de données # En tant qu'admin Depuis la page d'accueil admin admin # isole le contexte du test (création d'une collectivité) &{librecom_annexe_pec_1_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_NOTIF_ANNEXE_PEC ... departement=022 ... commune=220 ... insee=22001 ... direction_code=EFG ... direction_libelle=Direction de LIBRECOM_WS_NOTIF_ANNEXE_PEC ... direction_chef=Chef ... division_code=EFG ... division_libelle=Division EFG ... division_chef=Chef ... guichet_om_utilisateur_nom=Guy Pottier ... guichet_om_utilisateur_email=gpottier@openads-test.fr ... guichet_om_utilisateur_login=gpottier ... guichet_om_utilisateur_pwd=gpottier ... instr_om_utilisateur_nom=Yug Reittop ... instr_om_utilisateur_email=yreittop@openads-test.fr ... instr_om_utilisateur_login=yreittop ... instr_om_utilisateur_pwd=yreittop ... code_entite=LBCOM_26 ... acteur=LIBRECOM-ACT-026 Isolation d'un contexte ${librecom_annexe_pec_1_values} ${code_service_pec_annexe} = Set Variable 308 ${libelle_service_pec_annexe} = Set Variable TEST308PECANNEXE01 Set Global Variable ${code_service_pec_annexe} Set Global Variable ${libelle_service_pec_annexe} &{args_service} = Create Dictionary ... abrege=${code_service_pec_annexe} ... libelle=${libelle_service_pec_annexe} ... edition=Consultation - Demande d'avis ... om_collectivite=LIBRECOM_WS_NOTIF_ANNEXE_PEC ... service_type=Plat'AU ... generate_edition=true # Ajouter le service depuis le listing ${args_service} Gerer le service par WS ${args_service} # lettretype &{args_lettretype} = Create Dictionary ... id=TEST_NOTIF_PEC_ANNEXE ... libelle=Test ... sql=Aucune REQUÊTE (aucune) ... titre=&idx, &destinataire, aujourdhui&aujourdhui, datecourrier&datecourrier, &departement ... corps=Ceci est un document ... actif=true ... collectivite=agglo Ajouter la lettre-type depuis le menu &{args_lettretype} # Ajout d'un événement pour tester un cas de notification @{etat_source} = Create List delai de notification envoye @{type_di} = Create List PCI - P - Initial &{args_evenement1} = Create Dictionary ... libelle=TEST_NOTIF_PEC_ANNEXE ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... lettretype=TEST_NOTIF_PEC_ANNEXE Test ... redirection_ajout=Modification de l'instruction ... notification=Notification manuelle avec annexe et avec signature requise Gerer l'événement par WS ${args_evenement1} # Création de deux services d'instruction notifiable et d'un non notifiable &{service} = Create Dictionary ... abrege=00.00 ... libelle=ServiceNotifiablePecAnnexe ... edition=Consultation - Demande d'avis ... om_collectivite=LIBRECOM_WS_NOTIF_ANNEXE_PEC ... service_type=openADS ... generate_edition=true ... accepte_notification_email=true ... email=notifiable1@ok.fr Gerer le service par WS ${service} # Construction du paramétrage spé PEC ANNEXE &{om_param} = Create Dictionary ... libelle=parametre_courriel_type_titre ... valeur=[openADS] Notification concernant votre dossier [DOSSIER] ... om_collectivite=LIBRECOM_WS_NOTIF_ANNEXE_PEC Gerer le paramètre par WS ${om_param} &{om_param} = Create Dictionary ... libelle=parametre_courriel_service_type_titre ... valeur=[openADS] Notification pour les services concernant le dossier [DOSSIER] ... om_collectivite=LIBRECOM_WS_NOTIF_ANNEXE_PEC Gerer le paramètre par WS ${om_param} &{om_param} = Create Dictionary ... libelle=parametre_courriel_type_message ... valeur=Bonjour, veuillez prendre connaissance du(des) document(s) suivant(s) :
[LIEN_TELECHARGEMENT_DOCUMENT]
[LIEN_TELECHARGEMENT_ANNEXE] ... om_collectivite=LIBRECOM_WS_NOTIF_ANNEXE_PEC Gerer le paramètre par WS ${om_param} &{om_param} = Create Dictionary ... libelle=parametre_courriel_service_type_message ... valeur=Bonjour les services, veuillez prendre connaissance du(des) document(s) suivant(s) :
[LIEN_TELECHARGEMENT_DOCUMENT]
[LIEN_TELECHARGEMENT_ANNEXE] ... om_collectivite=LIBRECOM_WS_NOTIF_ANNEXE_PEC Gerer le paramètre par WS ${om_param} &{om_param} = Create Dictionary ... libelle=parametre_notification_url_acces ... valeur=http://localhost/openads/ ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} ${now_yyyymmdd} = Date du jour au format yyyymmdd Set Suite Variable ${now_yyyymmdd} Activation de la notification par mail [Documentation] Active la notification par mail des demandeurs &{om_param} = Create Dictionary ... libelle=option_notification ... valeur=mail ... om_collectivite=LIBRECOM_WS_NOTIF_ANNEXE_PEC Gerer le paramètre par WS ${om_param} &{om_param} = Create Dictionary ... libelle=option_notification_piece_numerisee ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} Démarrer maildump Vérification de la présence des annexes PEC lors d'une notification d'un demandeur [Documentation] Vérifie la présence des annexes PEC lors d'une notification d'un demandeur Depuis la page d'accueil admin admin &{args_petitionnaire_principal} = Create Dictionary ... particulier_nom=DeGrasse ... particulier_prenom=Charlot ... om_collectivite=LIBRECOM_WS_NOTIF_ANNEXE_PEC ... courriel=dcharlot@notif.fr ... notification=t &{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_WS_NOTIF_ANNEXE_PEC ... depot_electronique=true ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire_principal} Set Suite Variable ${di} ${di_se} = Sans espace ${di} ${da} = Replace String Using Regexp ${di_se} [A-Z][0-9]+$ ${EMPTY} # finalisation et ajout d'une date de retour signature sur une instruction du di # pour pouvoir la choisir comme annexe Depuis l'instruction du dossier d'instruction ${di} Notification du delai legal maison individuelle ${date_retour_sign} = Convert Date ${DATE_FORMAT_YYYY-MM-DD} result_format=%d/%m/%Y Click On SubForm Portlet Action instruction modifier_suivi Input Datepicker date_retour_signature ${date_retour_sign} Click On Submit Button In Subform Ajouter une consultation depuis un dossier ${di} ${code_service_pec_annexe} - ${libelle_service_pec_annexe} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#sousform-consultation #service ${consultation_id} = Get Value css=#sousform-consultation #consultation Set Suite Variable ${consultation_id} &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable ... motivation=Pas de réserves ... fichier_upload=testImportManuel.pdf #Rendre l'avis sur la consultation du dossier ${di} ${args_avis_consultation} Depuis l'onglet instruction du dossier d'instruction ${di} ${instr_qualif} = Get Text css=td.col-0 a.lienTable # Vérification status des tâches, les tâche doivent être en draft &{args_dossier} = Create Dictionary ... terrain_adresse_localite=308_002TESTLocalite Modifier le dossier d'instruction ${di} ${args_dossier} Depuis le contexte du dossier d'instruction ${di} Click On Form Portlet Action dossier_instruction modifier Open Fieldset dossier_instruction demandeur Click Element Until New Element css=.button-edit css=.ui-widget-overlay Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Input Text css=#localite Plop Click Element Until No More Element css=#sformulaire div.formControls input[value="Modifier le demandeur"] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain liste_demandeur Plop # On rend le dossier transmissible &{donnees_techniques_values} = Create Dictionary ... enga_decla_lieu=TEST308_002_engadelalieu ... enga_decla_date=${DATE_DDMMYYYY} Saisir les données techniques du DI ${di} ${donnees_techniques_values} # On ajoute un architecte à partir des données techniques sans mettre de ville (requis pour transmission à Plat'AU) &{args_architecte} = Create Dictionary ... nom=TESTDECLENCHEURNOM ... prenom=TESTDECLENCHEURPRENOM ... adresse1=5 Bis rue du test ... adresse2= ... cp=13200 ... pays=France ... telephone=0235645201 ... email=declencheur@test.com ${id_architecte} = Ajouter l'architecte ${di} ${args_architecte} # On ajoute la ville à l'architecte &{args_architecte} = Create Dictionary ... ville=ville test Modifier l'architecte ${di} ${args_architecte} &{task_values} = Create Dictionary ... type=creation_consultation ... dossier=${di_se} ... state=new ... object_id=${consultation_id} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} # Traitement des tâches précédentes pour ne pas impacter la tâche de pec ${msg} = Déclencher le traitement des tâches par WS # Préparation et traitement de la tache de retour d'avis de la consultation # Récupération de l'external uid du dossier si il existe. Sinon on le créé ${external_uid_di} = Set Variable 308_003_EXT_UID_DOS &{external_uid_values} = Create Dictionary ... object=dossier ... object_id=${di_se} ... external_uid=${external_uid_di} ... dossier=${di_se} ... category=platau ${status} = Run Keyword And Return Status Récupérer un external UID ${di_se} dossier Run Keyword If ${status} == False Ajouter un external UID ${external_uid_values} # Récupération de l'external uid de la consultation si elle existe. Sinon on la créé ${external_uid_consult} = Set Variable 308_003_EXT_UID_CSL &{external_uid_values} = Create Dictionary ... object=consultation ... object_id=${consultation_id} ... external_uid=${external_uid_consult} ... dossier=${di_se} ... category=platau ${status} = Run Keyword And Return Status Récupérer un external UID ${consultation_id} consultation Run Keyword If ${status} == False Ajouter un external UID ${external_uid_values} # Simulation retour PEC négative avec liste des pièces manquantes # Création des types de pièces spécifiques pour la vérification ${dnt_code_1} = Set Variable DNTPEC1_003 ${dnt_libelle_1} = Set Variable TEST308_003_PECNEGPMANQUANTES001 &{dnt_values} = Create Dictionary ... code=${dnt_code_1} ... libelle=${dnt_libelle_1} ... document_numerise_type_categorie=Autre Ajouter le type de pièces ${dnt_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. ${dnt_code_2} = Set Variable DNTPEC2_003 ${dnt_libelle_2} = Set Variable TEST308_003_PECNEGPMANQUANTES002 &{dnt_values} = Create Dictionary ... code=${dnt_code_2} ... libelle=${dnt_libelle_2} ... document_numerise_type_categorie=Autre Ajouter le type de pièces ${dnt_values} ${nomenclature_code} = Set Variable CODECERFA1 &{nomenclature_values} = Create Dictionary ... document_numerise_type=${dnt_code_2} - ${dnt_libelle_2} ... dossier_instruction_type=PCI Initial ... code=${nomenclature_code} Ajouter une nomenclature de piece ${nomenclature_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. ${emetteur_code} = Set Variable 308_003_EMETTEUR_CODE # Ajout d'une tache de prise en compte (PeC) avec document ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_pec_metier_consultation_input.json ${json_payload} = Replace String ${json_payload} AAA-BBB-CCC ${external_uid_consult} ${json_payload} = Replace String ${json_payload} RRR-SSS-TTT ${external_uid_di} ${json_payload} = Replace String ${json_payload} OOO-PPP-QQQ 308_003_EXT-UID-PEC ${json_payload} = Replace String ${json_payload} XXX ${dnt_code_1} ${json_payload} = Replace String ${json_payload} YYY ${dnt_code_2} ${json_payload} = Replace String ${json_payload} UUU-VVV-WWW ${emetteur_code} ${task_values} = Create Dictionary ... type=pec_metier_consultation ... json_payload=${json_payload} ${task_id} = Ajouter la tâche par WS ${task_values} application # Traitement de la tâches pec_metier_consultation ${msg} = Déclencher le traitement des tâches par WS # Simulation du retour d'avis via platau &{external_uids_consultation} = Create Dictionary ... avis=EXT-UID-AVI ... consultation=${external_uid_consult} ... dossier=${external_uid_di} &{data_avis_consultation} = Create Dictionary ... avis_consultation=3 ... date_avis=2022-05-05 ... date_emission=2022-05-05 ... nom_auteur=Charlebois ... prenom_auteur=Slainie ... qualite_auteur=adjoint de quelqu'un ... texte_avis=Avis favorable au titre du plop, sous réserve d'autres plop. ... texte_fondement_avis=Construction en continuité du bâti existant. Rendre un avis par WS ${external_uids_consultation} ${data_avis_consultation} Depuis la page d'accueil admin admin Depuis l'onglet instruction du dossier d'instruction ${di} # Ajouter une instruction au DI et la finaliser ${di} TEST_NOTIF_PEC_ANNEXE &{args_instruction} = Create Dictionary ... date_retour_signature=${DATE_FORMAT_DD/MM/YYYY} Modifier le suivi des dates ${di} TEST_NOTIF_PEC_ANNEXE ${args_instruction} # TEST CASE 1 - La notification contient les annexes Avis et PEC Depuis la page d'accueil yreittop yreittop Depuis l'instruction du dossier d'instruction ${di} TEST_NOTIF_PEC_ANNEXE Portlet Action Should Be In SubForm instruction overlay_notification_manuelle Click On SubForm Portlet Action instruction overlay_notification_manuelle modale Wait Until Page Contains Element css=div#sousform-instruction_notification_manuelle Element Should Contain css=div#sousform-instruction_notification_manuelle DeGrasse Charlot | dcharlot@notif.fr | pétitionnaire principal Select Checkbox css=input[type="checkbox"] ${date_avis_formatted} = Convert Date ${data_avis_consultation.date_avis} result_format=%d/%m/%Y @{liste_documents} Create List PEC - ${libelle_service_pec_annexe} - Consultation n°${consultation_id} ... Avis - ${libelle_service_pec_annexe} - ${date_avis_formatted} Select From Multiple Chosen List annexes_documents ${liste_documents} Click Element css=div#sousform-instruction_notification_manuelle input[type="submit"] Wait Until Element Contains ... css=.message.ui-state-valid ... La notification a été générée.\nLes pièces et documents suivants seront envoyés :\nTEST_NOTIF_PEC_ANNEXE\nAvis - ${libelle_service_pec_annexe} - ${date_avis_formatted}\nPEC - ${libelle_service_pec_annexe} - Consultation n°${consultation_id} # Affichage de la liste des annexes dans le tableau de suivi Depuis l'instruction du dossier d'instruction ${di} TEST_NOTIF_PEC_ANNEXE Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element xpath=(//td[@data-column-id='annexes'])[1] Element Text Should Be xpath=(//td[@data-column-id='annexes'])[1] Annexe\nAnnexe # Test de l'accès aux différents types de pièce et document Verifier que le mail a bien été envoyé au destinataire dcharlot@notif.fr Vérifier le contenu du mail dcharlot@notif.fr /web/notification.php?key= ${keys} = Recuperer les cles dans le mail de notification ${key}= Get From List ${keys} 0 Verifier que le lien de notification contiens ${key} Ceci est un document dcharlot@notif.fr ${key}= Get From List ${keys} 1 Verifier que le lien de notification contiens ${key} PERMIS DE CONSTRUIRE PERMIS DE CONSTRUIRE EP dcharlot@notif.fr ${key}= Get From List ${keys} 2 Verifier que le lien de notification contiens ${key} DUPONT JACQUES dcharlot@notif.fr # TEST CASE 2 - La notification contient uniquement l'annexe PEC Depuis l'instruction du dossier d'instruction ${di} TEST_NOTIF_PEC_ANNEXE Click On SubForm Portlet Action instruction overlay_notification_manuelle modale Wait Until Page Contains Element css=div#sousform-instruction_notification_manuelle Element Should Contain css=div#sousform-instruction_notification_manuelle DeGrasse Charlot | dcharlot@notif.fr | pétitionnaire principal Select Checkbox css=input[type="checkbox"] @{liste_documents} Create List PEC - ${libelle_service_pec_annexe} - Consultation n°${consultation_id} Select From Multiple Chosen List annexes_documents ${liste_documents} Click Element css=div#sousform-instruction_notification_manuelle input[type="submit"] Wait Until Element Contains ... css=.message.ui-state-valid ... La notification a été générée.\nLes pièces et documents suivants seront envoyés :\nTEST_NOTIF_PEC_ANNEXE\nPEC - ${libelle_service_pec_annexe} - Consultation n°${consultation_id} # Affichage de la liste des annexes dans le tableau de suivi Depuis l'instruction du dossier d'instruction ${di} TEST_NOTIF_PEC_ANNEXE Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element xpath=(//td[@data-column-id='annexes'])[2] Element Text Should Be xpath=(//td[@data-column-id='annexes'])[2] Annexe # Test de l'accès aux différents types de pièce et document Verifier que le mail a bien été envoyé au destinataire dcharlot@notif.fr Vérifier le contenu du mail dcharlot@notif.fr /web/notification.php?key= ${keys} = Recuperer les cles dans le mail de notification ${key}= Get From List ${keys} 0 Verifier que le lien de notification contiens ${key} Ceci est un document dcharlot@notif.fr ${key}= Get From List ${keys} 1 Verifier que le lien de notification contiens ${key} DUPONT JACQUES dcharlot@notif.fr # TEST CASE 3 - La notification contient uniquement l'annexe Avis Depuis l'instruction du dossier d'instruction ${di} TEST_NOTIF_PEC_ANNEXE Click On SubForm Portlet Action instruction overlay_notification_manuelle modale Wait Until Page Contains Element css=div#sousform-instruction_notification_manuelle Element Should Contain css=div#sousform-instruction_notification_manuelle DeGrasse Charlot | dcharlot@notif.fr | pétitionnaire principal Select Checkbox css=input[type="checkbox"] @{liste_documents} Create List Avis - ${libelle_service_pec_annexe} - ${date_avis_formatted} Select From Multiple Chosen List annexes_documents ${liste_documents} Click Element css=div#sousform-instruction_notification_manuelle input[type="submit"] Wait Until Element Contains ... css=.message.ui-state-valid ... La notification a été générée.\nLes pièces et documents suivants seront envoyés :\nTEST_NOTIF_PEC_ANNEXE\nAvis - ${libelle_service_pec_annexe} - ${date_avis_formatted} # Affichage de la liste des annexes dans le tableau de suivi Depuis l'instruction du dossier d'instruction ${di} TEST_NOTIF_PEC_ANNEXE Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element xpath=(//td[@data-column-id='annexes'])[3] Element Text Should Be xpath=(//td[@data-column-id='annexes'])[3] Annexe # Test de l'accès aux différents types de pièce et document Verifier que le mail a bien été envoyé au destinataire dcharlot@notif.fr Vérifier le contenu du mail dcharlot@notif.fr /web/notification.php?key= ${keys} = Recuperer les cles dans le mail de notification ${key}= Get From List ${keys} 0 Verifier que le lien de notification contiens ${key} Ceci est un document dcharlot@notif.fr ${key}= Get From List ${keys} 1 Verifier que le lien de notification contiens ${key} PERMIS DE CONSTRUIRE PERMIS DE CONSTRUIRE EP dcharlot@notif.fr