*** Settings *** Documentation Test du Widget "Suivi d'instruction paramétrable" filtres, parametres de colonnes # 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 *** Variables *** ${num_test} 462 ${code_test} WC ${libelle_test} TEST_${num_test}_WidgetSuivit_CTX ${om_widget_RE_libelle} RE ${libelle_test} RE ${om_widget_IN_libelle} IN ${libelle_test} IN ${om_widget} suivi_instruction_parametrable ${collectivite} LIBRECOM_WIDGET_SUIVI_INSTR_CTX ${code_entite} LBCOM_${num_test} ${acteur} LIBRECOM-ACT-${num_test} ${widget_arguments} filtre=aucun\naffichage_colonne=instruction;date_evenement\naffichage=liste\nnb_max_resultat=10\ntri=-6\n *** 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${/} Setup context et paramétrage - Widget "Suivi d'instruction paramétrable sur contentieux" [Documentation] Permet de vérifier que le widget de suivi d'instruction paramétrable ... fonctionne correctement Depuis la page d'accueil admin admin # isole le contexte du test (création d'une collectivité) &{librecom_values} = Create Dictionary ... om_collectivite_libelle=${collectivite} ... departement=${num_test} ... commune=${num_test} ... insee=${num_test}00 ... direction_code=${code_test} ... direction_libelle=Direction de ${collectivite} ... direction_chef=Chef ... division_code=${code_test} ... division_libelle=Division ${code_test} ... division_chef=Chef ... guichet_om_utilisateur_nom=Suivi Instr ... guichet_om_utilisateur_email=guichet${num_test}${code_test}@openads-test.fr ... guichet_om_utilisateur_login=guichet${num_test}${code_test} ... guichet_om_utilisateur_pwd=guichet${num_test}${code_test} ... instr_om_utilisateur_nom=Widget Suivi ... instr_om_utilisateur_email=instr${num_test}${code_test}@openads-test.fr ... instr_om_utilisateur_login=instr${num_test}${code_test} ... instr_om_utilisateur_pwd=instr${num_test}${code_test} ... code_entite=${code_entite} ... acteur=${acteur} Isolation d'un contexte ${librecom_values} Set Suite Variable ${librecom_values} # Ajout d'affectation de l'instructeur du contexte pour le type détaillé 'Déclaration préalable' &{args_affectation} = Create Dictionary ... instructeur=${librecom_values.instr_om_utilisateur_nom} (${librecom_values.division_code}) ... om_collectivite=${collectivite} ... dossier_autorisation_type_detaille=DP - Déclaration préalable Ajouter l'affectation depuis le menu ${args_affectation} # Récupération de l'ID instruction # Depuis le contexte de l'instructeur ${librecom_values.instr_om_utilisateur_nom} # ${id_instructeur} = Get Text css=#instructeur # Configuration des widgets &{args_om_widget} = Create Dictionary ... libelle=${om_widget_RE_libelle} ... type=file - le contenu du widget provient d'un script sur le serveur ... script=${om_widget} ... arguments=${widget_arguments}message_help=om_widget_RE\ncodes_datd=rec;reg ${id_om_widget_RE} = Ajouter le widget depuis l'URL ${args_om_widget} Set Suite Variable ${id_om_widget_RE} &{args_om_widget} = Create Dictionary ... libelle=${om_widget_IN_libelle} ... type=file - le contenu du widget provient d'un script sur le serveur ... script=${om_widget} ... arguments=${widget_arguments}message_help=om_widget_IN\ncodes_datd=in\n ${id_om_widget_IN} = Ajouter le widget depuis l'URL ${args_om_widget} Set Suite Variable ${id_om_widget_IN} # On ajoute les widgets au tableau de bords &{args_om_dashboard} = Create Dictionary ... om_widget=${om_widget_RE_libelle} ... om_profil=INSTRUCTEUR ... bloc=C2 ... position=1 ${om_dashboard_RE} = Ajouter le widget au tableau de bord du profil depuis l'URL ${args_om_dashboard} Set Suite Variable ${om_dashboard_RE} &{args_om_dashboard} = Create Dictionary ... om_widget=${om_widget_IN_libelle} ... om_profil=INSTRUCTEUR ... bloc=C2 ... position=1 ${om_dashboard_IN} = Ajouter le widget au tableau de bord du profil depuis l'URL ${args_om_dashboard} Set Suite Variable ${om_dashboard_IN} # On utilise un email permettant d'avoir un état in_progress après la récupération du statut &{args_signataire} = Create Dictionary ... civilite=Monsieur ... nom=${libelle_test} ... prenom=TEST ... qualite=Signataire ... signature=X ... defaut=false ... om_collectivite=${collectivite} ... email=signataire-cptsign-2@test.test Ajouter le signataire depuis le menu ${args_signataire} Set Suite Variable ${args_signataire} &{args_signataire} = Create Dictionary ... nom=TestAssist ... email=nospam@openmairie.org ... login=tmpassis ... pwd=tmpassis ... role=ASSISTANTE ... om_collectivite=${collectivite} Ajouter l'utilisateur ... ${args_signataire.nom} ... ${args_signataire.email} ... ${args_signataire.login} ... ${args_signataire.pwd} ... ${args_signataire.role} ... ${args_signataire.om_collectivite} # On vérifie lorsqu'il n'y a pas de résultats Depuis la page d'accueil ${librecom_values.instr_om_utilisateur_login} ${librecom_values.instr_om_utilisateur_pwd} Element Should Contain css=#widget_${om_dashboard_RE} .widget-content ... Il n'y a pas de documents pour le moment. Element Should Contain css=#widget_${om_dashboard_IN} .widget-content ... Il n'y a pas de documents pour le moment. Création du contentieux RE et test des accès via le Widget [Documentation] Ajout d'un contentieux RE et affichage dans un widget suivi_instruction_parametrable. ... Test des clicks sur les liens du widget 'Voir +','accès au dossier' fonctionnent # Dossier source &{args_petitionnaire} = Create Dictionary ... qualite=personne morale ... personne_morale_denomination=Notaire&Co ... personne_morale_raison_sociale=Société ... personne_morale_civilite=Monsieur ... personne_morale_nom=Martinez ... personne_morale_prenom=Nicolas ... om_collectivite=${collectivite} &{args_avocat} = Create Dictionary ... qualite=personne morale ... personne_morale_denomination=Notaire&Co ... personne_morale_raison_sociale=Société ... personne_morale_civilite=Monsieur ... personne_morale_nom=Avocat ... personne_morale_prenom=Nicolas ... frequent=true &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... om_collectivite=${collectivite} ... demande_type=Dépôt Initial ${di_src} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI et la finaliser ${di_src} accepter un dossier sans réserve signataire_arrete=${args_signataire.prenom} ${args_signataire.nom} ${id_instruction} = Get Value css=.form-content input#instruction 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. Portlet Action Should Not Be In SubForm instruction envoyer_a_signature # Dossier cible Depuis la page d'accueil tmpassis tmpassis Depuis le contexte de nouvelle demande contentieux via l'URL Select From Chosen List dossier_autorisation_type_detaille REC - Recours contentieux Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Input Text css=#fieldset-form-demande_nouveau_dossier_contentieux-autorisation-contestee #autorisation_contestee ${di_src} Click Button css=#autorisation_contestee_search_button # On clique sur le bouton d'ajout d'un avocat Ajouter le demandeur avocat_principal ${args_avocat} Click On Submit Button Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Vos modifications ont bien été enregistrées. La page ne doit pas contenir d'erreur ${libelle_di_re} = Get Text id=new_di Set Suite Variable ${libelle_di_re} # On vérifie lorsqu'il n'y a pas de résultats Depuis la page d'accueil ${librecom_values.instr_om_utilisateur_login} ${librecom_values.instr_om_utilisateur_pwd} Element Should Contain css=#widget_${om_dashboard_RE} .widget-content ... ${libelle_di_re} Element Should Contain css=#widget_${om_dashboard_IN} .widget-content ... Il n'y a pas de documents pour le moment. Element Should Not Contain css=#widget_${om_dashboard_IN} .widget-content ... ${libelle_di_re} # On vérifie le click sur l'élément Depuis la page d'accueil ${librecom_values.instr_om_utilisateur_login} ${librecom_values.instr_om_utilisateur_pwd} Click Element css=#widget_${om_dashboard_RE} .widget-content td.firstcol a.lienTable Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title Contentieux Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title Recours Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title ${libelle_di_re} # Check if voir + works Depuis la page d'accueil ${librecom_values.instr_om_utilisateur_login} ${librecom_values.instr_om_utilisateur_pwd} Click Element css=#widget_${om_dashboard_RE} .widget-footer a Wait Until Element Is Visible css=.pageDescription Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.pageDescription om_widget_RE Element Should Contain css=#tab-suivi_instruction_parametrable ${libelle_di_re} # On vérifie le click sur l'élément Click Element css=#tab-suivi_instruction_parametrable .tab-container tbody tr.tab-data .col-3 a.lienTable Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title Contentieux Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title Recours Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title ${libelle_di_re} # On vérifie le fonctionnement du bouton retour Click On Back Button Wait Until Element Is Visible css=.pageDescription Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.pageDescription om_widget_RE Création du contentieux IN et test des accès via le Widget [Documentation] Ajout d'un contentieux IN et affichage dans un widget suivi_instruction_parametrable. ... Test des clicks sur les liens du widget 'Voir +','accès au dossier' fonctionnent &{args_contrevenant} = Create Dictionary ... particulier_nom=Roch ... particulier_prenom=Thibault ... om_collectivite=${collectivite} &{args_autres_demandeurs} = Create Dictionary ... contrevenant_principal=${args_contrevenant} &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Infraction ... demande_type=Dépôt Initial IN ... om_collectivite=${collectivite} ${di_inf} = Ajouter la demande par WS ${args_demande} ${NULL} ${args_autres_demandeurs} # On vérifie lorsqu'il y as des résultats Depuis la page d'accueil ${librecom_values.instr_om_utilisateur_login} ${librecom_values.instr_om_utilisateur_pwd} Element Should NOT Contain css=#widget_${om_dashboard_RE} .widget-content ... ${di_inf} Element Should Contain css=#widget_${om_dashboard_IN} .widget-content ... ${di_inf} # On vérifie le click sur l'élément Depuis la page d'accueil ${librecom_values.instr_om_utilisateur_login} ${librecom_values.instr_om_utilisateur_pwd} Click Element css=#widget_${om_dashboard_IN} .widget-content td.firstcol a.lienTable Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title Contentieux Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title Infraction Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title ${di_inf} # Check if voir + works Depuis la page d'accueil ${librecom_values.instr_om_utilisateur_login} ${librecom_values.instr_om_utilisateur_pwd} Click Element css=#widget_${om_dashboard_IN} .widget-footer a Wait Until Element Is Visible css=.pageDescription Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.pageDescription om_widget_IN Element Should Contain css=#tab-suivi_instruction_parametrable ${di_inf} # On vérifie le click sur l'élément Click Element css=#tab-suivi_instruction_parametrable .tab-container tbody tr.tab-data .col-3 a.lienTable Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title Contentieux Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title Infraction Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element should contain css=#content #title ${di_inf} # On vérifie le fonctionnement du bouton retour Click On Back Button Wait Until Element Is Visible css=.pageDescription Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.pageDescription om_widget_IN Suppression du fichier de configuration du connecteur parapheur de test Remove File ..${/}dyn${/}electronicsignature.inc.php