*** Settings *** Documentation Test des tasks liées au mode service consulté. # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup Run Keywords ... For Suite Setup ... AND Activer le mode service consulté ... AND Activation des platau_type_demande ... AND SETUP Suite Teardown Run Keywords ... Désactiver le mode service consulté ... AND Décomposition du jeu de données ... AND For Suite Teardown *** Keywords *** SETUP [Documentation] Préparation du jeu de données nécessaire au fonctionnement des tests. # Active option_dossier_commune &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_dossier_commune} # Active l'option d'affichage de la date de dépôt en mairie &{param_dossier_commune} = Create Dictionary ... libelle=option_date_depot_mairie ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_dossier_commune} # Affichage du numéro d'entité dans le libellé du dossier &{param_entite} = Create Dictionary ... libelle=code_entite ... valeur=TST ... om_collectivite=MARSEILLE Gerer le paramètre par WS ${param_entite} &{param_entite} = Create Dictionary ... libelle=option_om_collectivite_entity ... valeur=true ... om_collectivite=MARSEILLE Gerer le paramètre par WS ${param_entite} # Ajout d'une commune Depuis la page d'accueil admin admin Set Suite Variable ${code_insee} 13014 &{com_values} = Create Dictionary ... typecom=COM ... com=${code_insee} ... reg=00 ... dep=13 ... arr=013 ... tncc=0 ... ncc=Test-task-SC ... nccenr=Test-task-SC ... libelle=Test-task-SC ... can=40 ... comparent= ... om_validite_debut=01/01/0001 Ajouter commune avec dates validité ${com_values} set Suite Variable ${uid_acteur_platau} TST_TAC_CON &{om_param} = Create Dictionary ... libelle=platau_acteur_service_consulte ... valeur=${uid_acteur_platau} ... om_collectivite=MARSEILLE Gerer le paramètre par WS ${om_param} Décomposition du jeu de données [Documentation] Réinitialisation du jeu de données. &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${param_dossier_commune} &{params} = Create Dictionary ... delete=true ... libelle=code_entite ... om_collectivite=MARSEILLE Gerer le paramètre par WS ${params} &{params} = Create Dictionary ... delete=true ... libelle=option_om_collectivite_entity ... om_collectivite=MARSEILLE Gerer le paramètre par WS ${params} &{params} = Create Dictionary ... delete=true ... libelle=platau_acteur_service_consulte ... om_collectivite=MARSEILLE Gerer le paramètre par WS ${params} *** Test Cases *** Insertion d'une tache create_DI_for_consultation avec notification_error [Documentation] Lorsqu'une tâche entrante est traitée, les valeurs de sa payload sont tronquées Depuis la page d'accueil admin admin # Récupère le payload de création DI ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_for_consultation_payload_notification_error.json ${payload_dict} = To Json ${json_payload} ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_payload} ... category=platau ... state=error ${id_task_payload_notification_error} = Ajouter la tâche par WS ${task_values} Depuis le contexte de la task ${id_task_payload_notification_error} Open Fieldset task json_payload # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${resp} = Déclencher le traitement des tâches par WS et retourner la réponse ${status} = Run Keyword And Return Status Should Be Equal '${resp.status_code}' '200' Depuis le contexte de la task ${id_task_payload_notification_error} Page should contain erreur Erreur decodage de la payload lors de la récupération d'une tâches [Documentation] Lorsqu'une tâche entrante est traitée, les valeurs de sa payload sont tronquées ... pour respecter les limites de taille des champs. Si cette coupure est faite sur une ' ... (soit un ' dans la payload) cela provoque l'introduction de caractère spéciaux. ... Le but de ce tests est de vérifier qu'après correction du décodage de la tâche lors ... de sa récupération les ' sont correctement tronqué. # Ajoute d'une tâche avec une ' qui sera tronqué ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}payload_with_encoding_error.json ${json_payload} = Replace String ${json_payload} "acteur": "EL0-JE1-2JO" "acteur": "${uid_acteur_platau}" ${json_payload} = Replace String ${json_payload} "insee": "06030" "insee": "${code_insee}" ${json_payload} = Replace String ${json_payload} "service_consultant_insee": "06030" "service_consultant_insee": "${code_insee}" ${task_data_type} = Create List ${NONE} create_DI_for_consultation ${task_data_payload} = Create List ${NONE} ${json_payload} &{task_data} = Create Dictionary ... type=${task_data_type} ... json_payload=${task_data_payload} ${COOKIE} = Get Cookie ${SESSION_COOKIE} ${cookies} = Create Dictionary ${SESSION_COOKIE}=${COOKIE.value} ${session} = Set Variable ${PROJECT_NAME}_web_ihm Create Session ${session} ${PROJECT_URL} cookies=${cookies} ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=996 files=${task_data} # get the task ID by parsing the response ${data} = Decode Bytes To String ${response.content} UTF-8 ${task_id_msg_matches} = Get Regexp Matches ${data} Tâche ([0-9]+) ajoutée avec succès 1 Length Should Be ${task_id_msg_matches} 1 ${task_id} = Get From List ${task_id_msg_matches} 0 # Déclenchement du traitement de la tâche ${msg} = Déclencher le traitement des tâches par WS # Récupère le numéro du dossier Depuis le contexte de la task ${task_id} ${dossier_id_se} = Get Text css=#link_dossier_inactif # Vérification sur le dossier que ' apparaît bien &{seach_di_values} = Create Dictionary ... particulier=PLOP ... om_collectivite=MARSEILLE ... dossier=${dossier_id_se}* Depuis le contexte du dossier d'instruction par la recherche avance ${seach_di_values} ${seach_di_values["om_collectivite"]} Open Fieldset dossier_instruction localisation Element Should Contain css=#terrain_adresse_lieu_dit Traverse de l'XX Traitement d'une tâche creation DI for consultation avec une date mal formée [Documentation] Lorsqu'une tâche entrante est traitée, les dates de sa payload sont formatées ... pour que l'année soit toujours écrite sur 4 caractères. ... Si l'année a moins de caractères alors le traitement de la tâche va échouer car la date ... sera considéré comme mal formaté. # La date a des chiffres manquants ou une date au format incorrect &{payload_values} = Create Dictionary ... enga_decla_date=0220101 ... particulier_date_naissance=980-04-13 ... date_depot_mairie=2022-2-01 ... date_demande=2022-01-3 ... acteur=${uid_acteur_platau} ... insee=${code_insee} ... service_consultant_insee=${code_insee} ... particulier_nom=TST TASK ... particulier_prenom=FORMAT DATE Créer une tâche de type create_di_for_consultation ${payload_values} # Traitement de la tâche ${msg} = Déclencher le traitement des tâches par WS # Vérification de l'existence du dossier &{advs_searc_di} = Create Dictionary ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... particulier=FORMAT DATE Depuis le contexte du dossier d'instruction par la recherche avance ${advs_searc_di} MARSEILLE # Vérification de la correction des dates # Cas 1 : année incorrecte Open Fieldset dossier_instruction demandeur # Element Should Contain css=.synthese_demandeur 13/04/0980 # Cas 2 : mois incorrect Element Should Contain css=#fieldset-form-dossier_instruction-instruction .instruction-suivi 01/02/2022 # Cas 3 : jour incorrect Element Should Contain css=#date_depot 03/01/2022 # Cas 4 : format de date totalement erroné Click On Form Portlet Action dossier_instruction donnees_techniques modale Open All Fieldset Using Javascript donnees_techniques sousform Element Should Contain css=#fieldset-sousform-donnees_techniques-engagement-du-declarant 01/01/0001 # Le format de la date est correct mais il manque un ou plusieurs des éléments. Ex : AAAA-MM-, AAAA--DD ou -MM-DD &{payload_values} = Create Dictionary ... enga_decla_date=-01-01 ... particulier_date_naissance=1980-04- ... date_depot_mairie=2022--01 ... date_demande=2022-01-01 ... acteur=${uid_acteur_platau} ... insee=${code_insee} ... service_consultant_insee=${code_insee} ... particulier_nom=TST TASK ... particulier_prenom=#2 FORMAT DATE Créer une tâche de type create_di_for_consultation ${payload_values} # Traitement de la tâche ${msg} = Déclencher le traitement des tâches par WS # Vérification de l'existence du dossier &{advs_searc_di} = Create Dictionary ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes ... particulier=#2 FORMAT DATE Depuis le contexte du dossier d'instruction par la recherche avance ${advs_searc_di} MARSEILLE # Vérification de la correction des dates # Cas 5 : date format AAAA-MM- Open Fieldset dossier_instruction demandeur # Element Should Contain css=.synthese_demandeur 01/01/0001 # Cas 6 : date format AAAA--DD Element Should Contain css=#fieldset-form-dossier_instruction-instruction .instruction-suivi 01/01/0001 # Cas 7 : date format -MM-DD Click On Form Portlet Action dossier_instruction donnees_techniques modale Open All Fieldset Using Javascript donnees_techniques sousform Element Should Contain css=#fieldset-sousform-donnees_techniques-engagement-du-declarant 01/01/0001