*** Settings *** Resource resources/resources.robot Suite Setup For Suite Setup Suite Teardown For Suite Teardown Documentation Tests sur les contrats *** Test Cases *** Constitution du jeu de données [Documentation] Création du jeu de données de base pour les tests de contrat # Depuis la page d'accueil admin admin # Set Suite Variable ${testid} 120 # &{cimetiere01} = Create Dictionary ... cimetierelib=CIMETIERE${testid}-01 ... adresse1=RUE DE LA REPUBLIQUE ... adresse2= ... cp=99607 ... ville=LIBREVILLE ... observations= Ajouter le cimetière ${cimetiere01} Set Suite Variable ${cimetiere01} # &{zone01_cim01} = Create Dictionary ... cimetiere=${cimetiere01.cimetierelib} ... zonetype=CARRE ... zonelib=Z${testid}-01 Ajouter la zone ${zone01_cim01} Set Suite Variable ${zone01_cim01} # &{voie01_zone01_cim01} = Create Dictionary ... zone=${zone01_cim01.zonetype} ${zone01_cim01.zonelib} (${zone01_cim01.cimetiere}) ... voietype=ALLEE ... voielib=V${testid}-01 Ajouter la voie ${voie01_zone01_cim01} Set Suite Variable ${voie01_zone01_cim01} # &{type_de_sepulture_01} = Create Dictionary ... code=TDS-${testid}-01 ... libelle=Type de sépulture ${testid}-01 ${type_de_sepulture_01.id} = Ajouter le *type de sépulture* ${type_de_sepulture_01} Set Suite Variable ${type_de_sepulture_01} # &{concession01_120} = Create Dictionary ... famille=DURAND${testid} ... numero=12 ... cimetierelib=${cimetiere01.cimetierelib} ... zonelib=${zone01_cim01.zonetype} ${zone01_cim01.zonelib} ... voielib=${voie01_zone01_cim01.voietype} ${voie01_zone01_cim01.voielib} ... sepulturetype=${type_de_sepulture_01.libelle} ${concession01_120.id} = Ajouter la concession ${concession01_120} Set Suite Variable ${concession01_120} Ajout d'un contrat sur une concession [Documentation] Ce test permet de vérifier l'ajout d'un contrat # Depuis la page d'accueil admin admin # Depuis l'onglet 'contrat' de la concession ${concession01_120.id} Click On Add Button JS &{contrat_basic} = Create Dictionary ... datedemande=${DATE_FORMAT_DD/MM/YYYY} ... origine=Achat ... terme=perpétuité ... datevente=03/03/2020 Saisir un contrat ${contrat_basic} Click On Submit Button Valid Message Should Be Vos modifications ont bien été enregistrées. ${contrat_basic_id} = Get Value css=div.contrat-form #contrat # &{contrat_basic_valide} = Create Dictionary ... valide=true Modifier un contrat ${contrat_basic_id} ${contrat_basic_valide} Vérification du rafraîchissement de l'onglet concession lors de l'ajout d'un contrat [Documentation] Ce test permet de vérifier l'ajout d'un contrat # Depuis la page d'accueil admin admin # &{concession_refresh} = Create Dictionary ... famille=DUPONT${testid}refresh ... numero=14 ... cimetierelib=${cimetiere01.cimetierelib} ... zonelib=${zone01_cim01.zonetype} ${zone01_cim01.zonelib} ... voielib=${voie01_zone01_cim01.voietype} ${voie01_zone01_cim01.voielib} ${concession_refresh_id} = Ajouter la concession ${concession_refresh} &{contrat_refresh_1} = Create Dictionary ... emplacement=${concession_refresh_id} ... datedemande=${DATE_FORMAT_DD/MM/YYYY} ... origine=Achat ... terme=temporaire ... duree=15 ... datevente=19/03/2020 ... valide=true ${contrat_refresh_1_id} = Ajouter un contrat depuis l'emplacement ${contrat_refresh_1} Click Element css=#main # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#concession-datevente ${contrat_refresh_1.datevente} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#concession-terme ${contrat_refresh_1.terme} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#concession-terme #duree 15 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#concession-dateterme 19/03/2035 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=section#concession-informations-contrats .article-titre Achat à durée temporaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=section#concession-informations-contrats .article-container Contrat 2 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=section#concession-informations-contrats .article-container Contrat d'une durée de 15 ans # &{contrat_refresh_2} = Create Dictionary ... emplacement=${concession_refresh_id} ... datedemande=${DATE_FORMAT_DD/MM/YYYY} ... origine=Renouvellement ... terme=temporaire ... duree=20 ... datevente=25/03/2020 ... valide=true ${contrat_refresh_2_id} = Ajouter un contrat depuis l'emplacement ${contrat_refresh_2} Click Element css=#main # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#concession-datevente ${contrat_refresh_1.datevente} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#concession-daterenouvellement ${contrat_refresh_2.datevente} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#concession-terme ${contrat_refresh_2.terme} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#concession-terme #duree 20 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#concession-dateterme 25/03/2040 Vérification du bon fonctionnement de l'overlay de calcul automatique du montant [Documentation] Ce test permet de vérifier le bon fonctionnement de l'overlay # Depuis la page d'accueil admin admin # &{concession_overlay} = Create Dictionary ... famille=DUPONT${testid}overlay ... numero=14 ... cimetierelib=${cimetiere01.cimetierelib} ... zonelib=${zone01_cim01.zonetype} ${zone01_cim01.zonelib} ... voielib=${voie01_zone01_cim01.voietype} ${voie01_zone01_cim01.voielib} ${concession_overlay_id} = Ajouter la concession ${concession_overlay} Depuis l'onglet 'contrat' de la concession ${concession_overlay_id} Click On Add Button JS &{contrat_overlay_1} = Create Dictionary ... datedemande=25/03/2020 ... origine=Achat ... terme=temporaire ... duree=2 Saisir un contrat ${contrat_overlay_1} # Click Element css=#contrat-link-montant Error Message Should Contain Recherche de tarif impossible sans date de vente. Click Element css=.ui-dialog .ui-dialog-titlebar-close # &{contrat_overlay_2} = Create Dictionary ... datedemande=25/03/2020 ... origine=Achat ... terme=temporaire ... duree=3 ... datevente=25/03/2020 ... valide=true Saisir un contrat ${contrat_overlay_2} Click Element css=#contrat-link-montant Error Message Should Contain Aucun tarif ne correspond. Click Element css=.ui-dialog .ui-dialog-titlebar-close &{contrat_overlay_3} = Create Dictionary ... datedemande=25/03/2020 ... origine=Achat ... terme=temporaire ... duree=30 ... datevente=25/03/2020 ... valide=true Saisir un contrat ${contrat_overlay_3} Click Element css=#contrat-link-montant Element Should Contain css=.ui-widget #content 125.35 euro(s) Click Element css=.ui-widget .linkjsclosewindow Click On Submit Button Depuis l'onglet 'contrat' de la concession ${concession_overlay_id} Click On Add Button JS &{contrat_overlay_4} = Create Dictionary ... datedemande=25/03/2020 ... origine=Renouvellement ... terme=temporaire ... duree=30 ... datevente=30/03/2020 ... valide=true Saisir un contrat ${contrat_overlay_4} Click Element css=#contrat-link-montant Element Should Contain css=.ui-widget #content 115.76 euro(s) Click Element css=.ui-widget .linkjsclosewindow Click On Submit Button La page ne doit pas contenir d'erreur ${contrat_overlay_4_id} = Get Value css=div.contrat-form #contrat Supprimer un contrat ${contrat_overlay_4_id} Depuis l'onglet 'contrat' de la concession ${concession_overlay_id} Click On Add Button JS &{contrat_overlay_5} = Create Dictionary ... datedemande=25/03/2035 ... origine=Transformation ... terme=temporaire ... duree=15 ... datevente=30/03/2020 ... valide=true Saisir un contrat ${contrat_overlay_5} Click Element css=#contrat-link-montant Element Should Contain css=.ui-widget #content Détail de la transformation Element Should Contain css=.ui-widget #info_contrat Contrat transformé : achat du 25/03/2020 Element Should Contain css=.ui-widget #ancienne_date 25/03/2020 (année 2020 / mois 3) Element Should Contain css=.ui-widget #new_date 25/03/2035 (année 2035 / mois 3) Element Should Contain css=.ui-widget #duree_initiale 360 mois (30 ans) Element Should Contain css=.ui-widget #mois_ecoule 180 mois Element Should Contain css=.ui-widget #new_duree 180 mois (15 ans) Element Should Contain css=.ui-widget #tarif_initial 125.35 euro(s) Element Should Contain css=.ui-widget #new_tarif 85.36 euro(s) Element Should Contain css=.ui-widget #already_paid 62.68 euro(s) Element Should Contain css=.ui-widget #new_montant 22.68 euro(s) Click Element css=.ui-widget .linkjsclosewindow Click On Submit Button Ajout d'un contrat depuis le menu Recherche Contrat [Documentation] Ce test a pour but de vérifier que lorsqu'on ajout un contrat ... depuis le menu de recherche de contrat, on vérifie que les champs obligatoires ... soient présents et que le processus d'ajout d'un contrat en lui même fonctionne. ... On vérifie aussi que le champ de fusion mode_paiement et le champ de fusion num_ref ... soient bien présents dans la lettre type du jeu de données "8 Titre de recettes provisoire testcontrat" Depuis la page d'accueil admin admin # &{concession01} = Create Dictionary ... famille=DUPONT120 ... numero=14 ... cimetierelib=CIMETIÈRE DE MOULÈS ... zonelib=CARRE 1 ... voielib=ALLEE A ${concession01_id} = Ajouter la concession ${concession01} Set Suite Variable ${concession01} Set Suite Variable ${concession01_id} Depuis la page d'accueil admin admin # Depuis le formulaire d'ajout d'un contrat Le titre de la page doit être > Contrats # Click On Submit Button Error Message Should Contain Le champ date de demande est obligatoire Error Message Should Contain Le champ date de vente est obligatoire Error Message Should Contain Le champ durée est obligatoire Error Message Should Contain Le champ emplacement est obligatoire Error Message Should Contain Le champ origine est obligatoire Error Message Should Contain Le champ terme est obligatoire Error Message Should Contain SAISIE NON ENREGISTRÉE &{contrat01} = Create Dictionary ... emplacement_autocomplete_search=(${concession01_id}) ... emplacement_autocomplete_id=${concession01_id} ... datedemande=${DATE_FORMAT_DD/MM/YYYY} ... origine=Achat ... mode_paiement=chèque ... num_ref=34RF3456YH3 ... terme=perpétuité ... datevente=${DATE_FORMAT_DD/MM/YYYY} Saisir un contrat ${contrat01} Set Suite Variable ${contrat01} Click On Submit Button Valid Message Should Be Vos modifications ont bien été enregistrées. # Présence des champs de paiement Element Should Contain mode_paiement ${contrat01.mode_paiement} Element Should Contain num_ref ${contrat01.num_ref} ${contrat01_id} = Get Value css=div.contrat-form #contrat Set Suite Variable ${contrat01_id} # &{contrat01_valide} = Create Dictionary ... valide=true Modifier un contrat ${contrat01_id} ${contrat01_valide} # Champs de fusion concernant le paiement Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=om_lettretype&idx=8&action=1&premier=0&retour=form Element Should Contain merge_fields [contrat.mode_paiement] Element Should Contain merge_fields [contrat.num_ref] Vérification du bon fonctionnement du lien vers l'emplacement Depuis la page d'accueil admin admin # &{concession02} = Create Dictionary ... famille=DUPONT12002 ... numero=14 ... cimetierelib=CIMETIÈRE DE MOULÈS ... zonelib=CARRE 2 ... voielib=ALLEE B ${concession02_id} = Ajouter la concession ${concession02} Depuis la page d'accueil admin admin &{contrat02} = Create Dictionary ... emplacement_autocomplete_search=(${concession02_id}) ... emplacement_autocomplete_id=${concession02_id} ... datedemande=${DATE_FORMAT_DD/MM/YYYY} ... origine=Achat ... terme=perpétuité ... datevente=${DATE_FORMAT_DD/MM/YYYY} ${contrat02_id} = Ajouter un contrat ${contrat02} Log ${contrat02_id} Depuis le contexte du contrat ${contrat02_id} Element Should Contain css=#link_emplacement concession (${concession02_id}) - Famille : ${concession02.famille} Click Element css=#link_emplacement Le titre de la page doit être Emplacements > Concession > ${concession02_id} ${concession02.famille} La page ne doit pas contenir d'erreur &{contrat02_valide} = Create Dictionary ... valide=true Modifier un contrat ${contrat02_id} ${contrat02_valide} Vérification du bon fonctionnement du widget des contrats Depuis la page d'accueil admin admin # &{concession03} = Create Dictionary ... famille=DUPONT12003 ... numero=14 ... cimetierelib=CIMETIÈRE DE MOULÈS ... zonelib=CARRE 3 ... voielib=ALLEE C ${concession03_id} = Ajouter la concession ${concession03} # Depuis la page d'accueil admin admin # &{contrat03} = Create Dictionary ... emplacement_autocomplete_search=(${concession03_id}) ... emplacement_autocomplete_id=${concession03_id} ... datedemande=${DATE_FORMAT_DD/MM/YYYY} ... origine=Achat ... terme=perpétuité ... datevente=${DATE_FORMAT_DD/MM/YYYY} ${contrat03_id} = Ajouter un contrat ${contrat03} # On vérifie que l'action de consultation amène bien sur le contrat Depuis la page d'accueil admin admin Click Element css=#action-tab-contrat-left-consulter-${contrat03_id} Le titre de la page doit être > Contrats > Id ${contrat03_id} - Achat Du ${DATE_FORMAT_DD/MM/YYYY} La page ne doit pas contenir d'erreur # On vérifie que le lien vers tout les contrats à valider amène bien vers le listing des contrats avec valider à "Non" Depuis la page d'accueil admin admin Click Element link:Voir tous les contrats a valider Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Value Should Be css=#advanced-form select#valide false # On vérifie que le widget prend bien en compte les contrats non validés Depuis la page d'accueil admin admin &{contrat03_valide} = Create Dictionary ... valide=true Modifier un contrat ${contrat03_id} ${contrat03_valide} Depuis la page d'accueil admin admin Element Should Contain css= div.widget_contrat_a_valider .widget-content Aucun enregistrement. Vérification du bon fonctionnement de l'action valider Depuis la page d'accueil admin admin # &{concession04} = Create Dictionary ... famille=DUPONT12003 ... numero=14 ... cimetierelib=CIMETIÈRE DE MOULÈS ... zonelib=CARRE 3 ... voielib=ALLEE C ${concession04_id} = Ajouter la concession ${concession04} # Depuis la page d'accueil admin admin # &{contrat04} = Create Dictionary ... emplacement_autocomplete_search=(${concession04_id}) ... emplacement_autocomplete_id=${concession04_id} ... datedemande=${DATE_FORMAT_DD/MM/YYYY} ... origine=Achat ... terme=perpétuité ... datevente=${DATE_FORMAT_DD/MM/YYYY} ${contrat04_id} = Ajouter un contrat ${contrat04} Depuis le contexte du contrat ${contrat04_id} Portlet Action Should Be In Form contrat valider Click On Form Portlet Action contrat valider modale Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=.ui-dialog .ui-dialog-buttonset .ui-button-text-only Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Message Should Contain Le contrat a bien été validé. # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Portlet Action Should Not Be In Form contrat valider Ajout d'un courrier dans le contexte d'un contrat [Documentation] Ce test a pour but de vérifier que losqu'on ajout un courrier ... depuis un contrat, celui-ci soit bien lié à l'emplacement associé Depuis la page d'accueil admin admin # Pour être sûr que le filtre sur les destinataires est correct, on ajoute # une concession avec un concessionnaire que l'on ne va pas utiliser pour # être sûr que le contrat de test ne porte pas sur la première # concession et son concessionnaire &{concession05} = Create Dictionary ... famille=DUPONT12005 ... numero=14 ... cimetierelib=CIMETIÈRE DE MOULÈS ... zonelib=CARRE 3 ... voielib=ALLEE C ${concession05_id} = Ajouter la concession ${concession05} &{concessionnaire05} = Create Dictionary ... titre=Monsieur ... nom=DUPONT12005-UNIQUE ... prenom=HENRI ${concessionnaire05.id} = Ajouter le concessionnaire dans le contexte de la concession ${concessionnaire05} ${concession05_id} # On ajoute ici une concession, un concessionnaire et un contrat pour tester # l'ajout du courrier &{concession06} = Create Dictionary ... famille=DUPONT12006 ... numero=15 ... cimetierelib=CIMETIÈRE DE MOULÈS ... zonelib=CARRE 3 ... voielib=ALLEE C ${concession06_id} = Ajouter la concession ${concession06} &{concessionnaire06} = Create Dictionary ... titre=Monsieur ... nom=DUPONT12006-UNIQUE ... prenom=JACQUES ${concessionnaire06.id} = Ajouter le concessionnaire dans le contexte de la concession ${concessionnaire06} ${concession06_id} &{contrat06} = Create Dictionary ... emplacement_autocomplete_search=(${concession06_id}) ... emplacement_autocomplete_id=${concession06_id} ... datedemande=${DATE_FORMAT_DD/MM/YYYY} ... origine=Achat ... terme=perpétuité ... datevente=${DATE_FORMAT_DD/MM/YYYY} ${contrat06_id} = Ajouter un contrat ${contrat06} # XXX Il faudrait vérifier ici la non présence du concessionnaire de l'autre concession # dans le select des destinataires d'un nouveau courrier # On teste l'ajout du courrier &{courrier_edition} = Create Dictionary ... datecourrier=${DATE_FORMAT_DD/MM/YYYY} ... lettretype=contrat_titre_de_recettes_test Titre de recettes provisoire testcontrat ... destinataire=(concessionnaire) ${concessionnaire06.nom} ${concessionnaire06.prenom} ${courrier_id} = Ajouter le courrier dans le contexte du contrat ${courrier_edition} ${contrat06_id} # On vérifie que le courrier est bien présent dans l'onglet courrier dans le contexte de l'emplacement Depuis l'onglet 'courrier' de la concession ${concession06_id} Element Should Contain css=a.lienTable ${courrier_id} Export CSV du listing [Documentation] Vérification des données de l'export CSV des contrats. @{list_column} = Create List ... id ... emplacement ... date de demande ... origine ... terme ... durée ... date de vente ... date de terme ... montant ... monnaie ... valide Set Suite Variable ${list_column} ${headers_csv_file}= Convertir les colonnes du listing en colonnes d'export csv @{list_column} Depuis le listing contrat # Télécharge le fichier d'export CSV ${link} = Get Element Attribute css=div.tab-export a href ${output_dir} ${output_name} = Télécharger un fichier ${SESSION_COOKIE} ${link} ${EXECDIR}${/}binary_files${/} ${full_path_to_file} = Catenate SEPARATOR= ${output_dir} ${output_name} ${content_file} = Get File ${full_path_to_file} # On compare le nom des colonnes Should Contain ${content_file} ${headers_csv_file} Should Contain ${content_file} ${contrat01_id};"concession - n°${concession01_id} - Famille : ${concession01.famille}";${contrat01.datedemande};${contrat01.origine.lower()};perpetuite;0;${contrat01.datevente};;;euro;Oui