*** Settings *** Documentation Test les dépôts de demandes # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup For Suite Setup Suite Teardown For Suite Teardown *** Keywords *** Activer la saisie du numéro de dossier [Documentation] Permet d'activer la saisie du numéro de dossier par sections sur le formulaire ... d'ajout d'une nouvelle demande Click Element css=#num_doss_manuel Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#num_doss_sequence Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Be Visible css=#num_doss_sequence[disabled="disabled"] *** Test Cases *** Constitution du jeu de données [Documentation] Permet de préparer les données pour les tests cases ${test_id} = Set Variable 030_031 Set Suite Variable ${test_id} Vérification du bon fonctionnement de la date de dépôt en mairie # On se connecte à l'application Depuis la page d'accueil admin admin # On active l'option option_date_depot_mairie &{param_values} = Create Dictionary ... libelle=option_date_depot_mairie ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_values} # Ajout d'un dossier avec la date de dépôt en mairie à la date du jour &{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=MARSEILLE ... date_depot_mairie=${DATE_DDMMYYYY} &{args_petitionnaire} = Create Dictionary ... particulier_nom=${test_id}NOM ... particulier_prenom=${test_id}PRENOM ... om_collectivite=MARSEILLE ${di_date_depot_mairie} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # On vérifie que la date de dépot en mairie est modifiable à la main dans le dossier d'instruction Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Form Value Should Be css=#date_depot_mairie ${DATE_DDMMYYYY} # On vérifie que l'année ne peut pas être modifiée Click On Form Portlet Action dossier_instruction modifier Input Text date_depot_mairie 16/02/2015 Click On Submit Button Error Message Should Contain L'année de la date de dépôt en mairie n'est pas modifiable. Error Message Should Contain SAISIE NON ENREGISTRÉE Click On Back Button ${date_annee_yyyy} = Get Time year ${date_depot_mairie} = Create Dictionary ... date_depot_mairie=16/02/${date_annee_yyyy} Modifier le dossier d'instruction ${di_date_depot_mairie} ${date_depot_mairie} Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Form Value Should Be css=#date_depot_mairie ${date_depot_mairie.date_depot_mairie} ${date_depot_mairie} = Create Dictionary ... date_depot_mairie=${DATE_DDMMYYYY} Modifier le dossier d'instruction ${di_date_depot_mairie} ${date_depot_mairie} ${date_depot_mairie_for_calc} = Get Value date_depot_mairie # On ajoute une instruction qui majore le délai d'instruction &{args_action} = Create Dictionary ... action=majore_delai_instruction ... libelle=Majorer le délai d'instruction ... regle_delai=archive_delai+delai ... regle_accord_tacite=accord_tacite ... regle_date_limite=date_depot_mairie+delai+archive_delai Ajouter l'action depuis le menu ${args_action} @{etat_source} = Create List delai de notification envoye @{type_di} = Create List PCI - P - Initial &{args_evenement} = Create Dictionary ... libelle=Majorer le délai d'instruction ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... delai=3 Mois ... action=${args_action.libelle} Ajouter l'événement depuis le menu ${args_evenement} Ajouter une instruction au DI ${di_date_depot_mairie} Majorer le délai d'instruction # La date limite doit être à 5 mois de plus de celle calculé par défaut # calcul du jour identique 5 mois après (+5 mois) ${date_depot_mairie_for_calc_calculated} = Ajouter ou supprimer des mois à une date 5 ${date_depot_mairie_for_calc} Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain date_limite ${date_depot_mairie_for_calc_calculated} # On ajoute une instruction qui modifie le délai d'instruction &{args_action} = Create Dictionary ... action=modif_delai_instruction ... libelle=Modifier le délai d'instruction ... regle_delai=delai ... regle_accord_tacite=accord_tacite ... regle_date_limite=date_depot_mairie+delai Ajouter l'action depuis le menu ${args_action} @{etat_source} = Create List delai de notification envoye @{type_di} = Create List PCI - P - Initial &{args_evenement} = Create Dictionary ... libelle=Modifier le délai d'instruction ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... delai=1 Mois ... action=${args_action.libelle} Ajouter l'événement depuis le menu ${args_evenement} Ajouter une instruction au DI ${di_date_depot_mairie} Modifier le délai d'instruction # La date limite doit être à 1 mois de moins de celle calculé par défaut # On utilise la date de dépôt en mairie afin de calculer la nouvelle date limite d'instruction ${date_depot_mairie_for_calc_calculated} = Ajouter ou supprimer des mois à une date 1 ${date_depot_mairie_for_calc} Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain date_limite ${date_depot_mairie_for_calc_calculated} Vérification du bon fonctionnement des jours dans la date de dépôt en mairie # On se connecte à l'application Depuis la page d'accueil admin admin # On active l'option option_date_depot_mairie &{param_values} = Create Dictionary ... libelle=option_date_depot_mairie ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_values} # Ajout d'un dossier avec la date de dépôt en mairie à la date du jour &{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=MARSEILLE ... date_depot_mairie=${DATE_DDMMYYYY} &{args_petitionnaire} = Create Dictionary ... particulier_nom=${test_id}_Jours_NOM ... particulier_prenom=${test_id}_Jours_PRENOM ... om_collectivite=MARSEILLE ${di_date_depot_mairie} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # On vérifie que la date de dépot en mairie est modifiable à la main dans le dossier d'instruction Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Form Value Should Be css=#date_depot_mairie ${DATE_DDMMYYYY} ${date_depot_mairie_for_calc} = Get Value date_depot_mairie # On ajoute une instruction qui majore le délai d'instruction de 3 mois &{args_action} = Create Dictionary ... action=majore_delai_instruction_jm ... libelle=Majorer le délai d'instruction JM ... regle_delai=archive_delai+delai ... regle_accord_tacite=accord_tacite ... regle_date_limite=date_depot_mairie+archive_delai+delai Ajouter l'action depuis le menu ${args_action} @{etat_source} = Create List delai de notification envoye @{type_di} = Create List PCI - P - Initial &{args_evenement} = Create Dictionary ... libelle=Majorer le délai d'instruction 3M ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... delai=3 Mois ... action=${args_action.libelle} Ajouter l'événement depuis le menu ${args_evenement} # On ajoute une instruction qui majore le délai d'instruction de 10 jours @{etat_source} = Create List delai de notification envoye @{type_di} = Create List PCI - P - Initial &{args_evenement} = Create Dictionary ... libelle=Majorer le délai d'instruction 10J ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... delai=10 Jours ... action=${args_action.libelle} Ajouter l'événement depuis le menu ${args_evenement} # On ajoute une instruction qui majore le délai d'instruction de 1 mois @{etat_source} = Create List delai de notification envoye @{type_di} = Create List PCI - P - Initial &{args_evenement} = Create Dictionary ... libelle=Majorer le délai d'instruction 1M ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... delai=1 Mois ... action=${args_action.libelle} Ajouter l'événement depuis le menu ${args_evenement} # Ajouter les éléments Ajouter une instruction au DI ${di_date_depot_mairie} Majorer le délai d'instruction 3M # La date limite doit être à 5 mois de plus de celle calculé par défaut # calcul du jour identique 5 mois après (+5 mois) # Le calcul de la date se fait en prenant la date de dépot et en lui ajoutant le délai # puis en prenant le résultat et en ajoutant la majoration. Le test reprend cette logique # pour ne pas avoir de différence de résultat. ${date_depot_mairie_calculee} = Ajouter ou supprimer des mois à une date 2 ${date_depot_mairie_for_calc} ${date_depot_mairie_calculee} = Ajouter ou supprimer des mois à une date 3 ${date_depot_mairie_calculee} Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain date_limite ${date_depot_mairie_calculee} Ajouter une instruction au DI ${di_date_depot_mairie} Majorer le délai d'instruction 10J # La date limite doit être à 5 mois 10 Jours de plus de celle calculé par défaut ${date_depot_mairie_for_calc_calculated_5mois_10jours} = Add Time To Date ${date_depot_mairie_calculee} 10 days %d/%m/%Y True %d/%m/%Y Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain date_limite ${date_depot_mairie_for_calc_calculated_5mois_10jours} Ajouter une instruction au DI ${di_date_depot_mairie} Majorer le délai d'instruction 1M # La date limite doit être à 6 mois 10jours de plus de celle calculé par défaut # calcul du jour identique 6 mois après (+6 mois 10jours) ${date_depot_mairie_for_calc_calculated_6mois_10jours} = Ajouter ou supprimer des mois à une date 1 ${date_depot_mairie_for_calc_calculated_5mois_10jours} Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain date_limite ${date_depot_mairie_for_calc_calculated_6mois_10jours} Vérification du bon fonctionnement des valeurs numériques et textes dans les regles # On se connecte à l'application Depuis la page d'accueil admin admin # On active l'option option_date_depot_mairie &{param_values} = Create Dictionary ... libelle=option_date_depot_mairie ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_values} # Ajout d'un dossier avec la date de dépôt en mairie à la date du jour &{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=MARSEILLE ... date_depot_mairie=${DATE_DDMMYYYY} &{args_petitionnaire} = Create Dictionary ... particulier_nom=${test_id}_Num_NOM ... particulier_prenom=${test_id}_Num_PRENOM ... om_collectivite=MARSEILLE ${di_date_depot_mairie} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # On vérifie que la date de dépot en mairie est modifiable à la main dans le dossier d'instruction Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Form Value Should Be css=#date_depot_mairie ${DATE_DDMMYYYY} ${date_depot_mairie_for_calc} = Get Value date_depot_mairie # On ajoute une instruction qui majore le délai d'instruction de 3 mois # en utilisant +1 et 2Mois &{args_action} = Create Dictionary ... action=majore_delai_instruction_num ... libelle=Majorer le délai d'instruction Num ... regle_delai=archive_delai+delai+1 Mois ... regle_accord_tacite=accord_tacite ... regle_date_limite=date_depot_mairie+archive_delai+delai+1mois Ajouter l'action depuis le menu ${args_action} @{etat_source} = Create List delai de notification envoye @{type_di} = Create List PCI - P - Initial &{args_evenement} = Create Dictionary ... libelle=Majorer le délai d'instruction NUM+2 ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... delai=1Mois+1mois ... action=${args_action.libelle} Ajouter l'événement depuis le menu ${args_evenement} # On ajoute une instruction qui majore le délai d'instruction de 1 mois 10 jours # en utilisant +1mois et +10jour &{args_action} = Create Dictionary ... action=majore_delai_instruction_1m ... libelle=Majorer le délai d'instruction 1m ... regle_delai=archive_delai+delai+1mois ... regle_accord_tacite=accord_tacite ... regle_date_limite=date_depot_mairie+archive_delai+delai+1mois Ajouter l'action depuis le menu ${args_action} @{etat_source} = Create List delai de notification envoye @{type_di} = Create List PCI - P - Initial &{args_evenement} = Create Dictionary ... libelle=Majorer le délai d'instruction 1M10J ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... delai=10jour ... action=${args_action.libelle} Ajouter l'événement depuis le menu ${args_evenement} # Ajouter les éléments Ajouter une instruction au DI ${di_date_depot_mairie} Majorer le délai d'instruction NUM+2 # La date limite doit être à 5 mois de plus de celle calculé par défaut # calcul du jour identique 5 mois après (+5 mois) # Le calcul de la date se fait en prenant la date de dépot et en lui ajoutant le délai # puis en prenant le résultat et en ajoutant la majoration. Le test reprend cette logique # pour ne pas avoir de différence de résultat. ${date_depot_mairie_calculee} = Ajouter ou supprimer des mois à une date 2 ${date_depot_mairie_for_calc} ${date_depot_mairie_calculee} = Ajouter ou supprimer des mois à une date 1 ${date_depot_mairie_calculee} ${date_depot_mairie_calculee} = Ajouter ou supprimer des mois à une date 1 ${date_depot_mairie_calculee} ${date_depot_mairie_calculee} = Ajouter ou supprimer des mois à une date 1 ${date_depot_mairie_calculee} Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain date_limite ${date_depot_mairie_calculee} Ajouter une instruction au DI ${di_date_depot_mairie} Majorer le délai d'instruction 1M10J # La date limite doit être à 6 mois 10 Jour de plus de celle calculé par défaut ${date_depot_mairie_for_calc_calculated_5mois_10jours} = Add Time To Date ${date_depot_mairie_calculee} 10 days %d/%m/%Y True %d/%m/%Y ${date_depot_mairie_for_calc_calculated_6mois_10jours} = Ajouter ou supprimer des mois à une date 1 ${date_depot_mairie_for_calc_calculated_5mois_10jours} Depuis le contexte du dossier d'instruction ${di_date_depot_mairie} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain date_limite ${date_depot_mairie_for_calc_calculated_6mois_10jours} Vérification de l'affichage du delai vide ou NULL # On se connecte à l'application Depuis la page d'accueil admin admin # Ajout d'un dossier &{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=MARSEILLE ... date_depot_mairie=${DATE_DDMMYYYY} &{args_petitionnaire} = Create Dictionary ... particulier_nom=${test_id}_Delai ... particulier_prenom=${test_id}_OrNotDelai ... om_collectivite=MARSEILLE ${di_date_null} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # On ajoute une instruction qui applique au délai d'événement la valeur NULL &{args_action} = Create Dictionary ... action=delai_instruction_null ... libelle=Appliqué un délai d'instruction Null ... regle_delai=delai ... regle_accord_tacite=accord_tacite ... regle_date_limite=date_depot_mairie+archive_delai+delai Ajouter l'action depuis le menu ${args_action} @{etat_source} = Create List delai de notification envoye @{type_di} = Create List PCI - P - Initial &{args_evenement} = Create Dictionary ... libelle=Appliquer un délai d'instruction Null ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... delai=NULL ... action=${args_action.libelle} Ajouter l'événement depuis le menu ${args_evenement} # Ajouter les éléments Ajouter une instruction au DI ${di_date_null} ${args_evenement.libelle} Depuis le contexte du dossier d'instruction ${di_date_null} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Contain css=#delai null Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Contain css=#delai NULL # Ajout d'un dossier avec la date de dépôt en mairie à la date du jour &{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=MARSEILLE ... date_depot_mairie=${DATE_DDMMYYYY} &{args_petitionnaire} = Create Dictionary ... particulier_nom=${test_id}_Delai ... particulier_prenom=${test_id}_OrNotDelai ... om_collectivite=MARSEILLE ${di_date_vide} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # On ajoute une instruction qui applique un délai d'événement vide &{args_evenement} = Create Dictionary ... libelle=Appliquer un délai d'instruction VIDE ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... action=${args_action.libelle} Ajouter l'événement depuis le menu ${args_evenement} # Ajouter les éléments Ajouter une instruction au DI ${di_date_vide} ${args_evenement.libelle} Depuis le contexte du dossier d'instruction ${di_date_vide} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Contain css=#delai delai Vérification de la prise en compte de l'année de la date de dépôt en mairie lors de la numérotation manuelle Depuis la page d'accueil admin admin # On active l'option option_date_depot_mairie &{param_values} = Create Dictionary ... libelle=option_date_depot_mairie ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_values} # Active l'option de numérotation forcée &{param_values} = Create Dictionary ... libelle=option_dossier_saisie_numero ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_values} # On vérifie que lorsque les deux options sont activées elles fonctionnent correctement entre elles Go To Submenu In Menu guichet_unique nouveau-dossier Select From List By Label om_collectivite MARSEILLE Select From Chosen List Should Contain dossier_autorisation_type_detaille DPS - DECLARATION PREALABLE SIMPLE Select From Chosen List dossier_autorisation_type_detaille DPS - DECLARATION PREALABLE SIMPLE Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible date_depot_mairie ${date_annee_yyyy} = Get Time year ${date_annee_yy} = Get Substring ${date_annee_yyyy} -2 Wait Until Form Value Should Be css=#num_doss_annee ${date_annee_yy} Input Text until text is correct date_depot_mairie 16/02/2015 Date de dépôt en mairie Input Text until text is correct date_demande ${DATE_DDMMYYYY} Date de la demande Simulate Event css=input#date_demande change Sleep 0.1 Wait Until Form Value Should Be css=#num_doss_annee 15 &{args_petitionnaire} = Create Dictionary ... om_collectivite=MARSEILLE ... particulier_civilite=Monsieur ... particulier_nom=DURAND Ajouter le demandeur petitionnaire_principal ${args_petitionnaire} Activer la saisie du numéro de dossier Input Text num_doss_division A Click On Submit Button Valid Message Should Contain DP 013055 15 A0001 Click Element link_demande_dossier_instruction Element Should Contain dossier_libelle DP 013055 15 A0001P0 Suppression des paramètres du jeu de Tests &{param_args} = Create Dictionary ... delete=true ... libelle=option_dossier_saisie_numero ... om_collectivite=agglo Gerer le paramètre par WS ${param_args} &{param_args} = Create Dictionary ... delete=true ... libelle=option_date_depot_mairie ... om_collectivite=agglo Gerer le paramètre par WS ${param_args}