*** 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 *** Variables *** ${ref_cad_section_selector} .reference_cadastrale_custom_fields .champ--ref-cadastrales__section ${ref_cad_fields_selector} .champ--ref-cadastrales *** Test Cases *** TNR Fonctionnement des champs custom de références cadastrale en cas de réaffichage [Documentation] En cas d'erreur (e.g. oublie de pétitionnaire) ou de type ... de demande. Les champs de refcad sont réaffichés et à cause d'un bug, ... les valeurs étaient corrompues et certains boutons « ajouter d'autres ... champs » étaient cassés. ... Il s'agit donc de tester tout les endroits où il y a ces champs. ... 1 Nouvelle demande, changement du type, check bouton. ... 2 Suite ↑, saisie ref, erreur, check refcad et bouton. ... 3 Suite ↑, changement du type, check refcad et bouton. ... 4 Ajout d'une demande sur dossier existant. Il y a une vue des refcad. ... 5 Nouvelle demande, recours contentieux. Il y a un champ refcad. ... Test après changement du type aussi. ... 6 Modif DI, ajout refs, erreur, check refcad et bouton # ## 1 ## Depuis la page d'accueil admin admin Depuis le contexte de nouvelle demande via l'URL Select From Chosen List Should Contain dossier_autorisation_type_detaille PD - Permis de démolir Select From Chosen List dossier_autorisation_type_detaille IN - Infraction Sleep 2 # obligation d'attendre car lors d'un changement de type de dossier il y a une temporisation JS d'une seconde Wait Until Element Is Visible css=#moreFieldReferenceCadastrale0 Click Element Until New Element css=#moreFieldReferenceCadastrale0 css=${ref_cad_fields_selector}:nth-child(5) input # Deux nouveaux champs devraient avoir été ajoutés Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=5 # changement de type pour reset le nombre de champs Select From Chosen List dossier_autorisation_type_detaille PD - Permis de démolir Sleep 2 # obligation d'attendre car lors d'un changement de type de dossier il y a une temporisation JS d'une seconde ## 2 ## Wait Until Element Is Visible css=.reference_cadastrale_custom_fields # Saisie de 812BC8834A8856 878DE8898 @{ref_cad} = Create List 812 BC 8834 A 8856 Saisir les références cadastrales ${ref_cad} # 1re ligne Click Element Until New Element css=#morelineReferenceCadastrale css=${ref_cad_section_selector}:nth-child(2) # 1er champ, 2e ligne (dans le groupe de champs, parmis les noeuds suivants # frères du br, celui avec le placeholder "Quart.") Input Text css=${ref_cad_section_selector}:nth-child(2) #references-cadastrales--prefixe ... 878 # 2e champ, 2e ligne Input Text css=${ref_cad_section_selector}:nth-child(2) #references-cadastrales--section ... DE # 3e champ, 2e ligne Input Text css=${ref_cad_section_selector}:nth-child(2) #references-cadastrales--numero ... 8898 # On s'assure que les assertions sur les champs marchent quand l'état est # propre. Avant de commencer à maltraiter le formulaire. # Check nombre et contenu des champs. Et que le JS peut bien les lire. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=8 Execute Javascript getDataFieldReferenceCadastrale(); Textarea Value Should Be css=#terrain_references_cadastrales ... 812BC8834A8856;878DE8898; # Déclenchement erreur (pas de collectivité ni pétionnaire) Click On Submit Button Until Message SAISIE NON ENREGISTRÉE # Check nombre et contenu des champs. Et que le JS peut bien les lire. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=8 # Check fonctionnement des boutons Click Element Until New Element css=#moreFieldReferenceCadastrale0 css=${ref_cad_section_selector}:nth-child(1) ${ref_cad_fields_selector}:nth-child(7) Click Element Until New Element css=#moreFieldReferenceCadastrale1 css=${ref_cad_section_selector}:nth-child(2) ${ref_cad_fields_selector}:nth-child(7) Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=14 Execute Javascript getDataFieldReferenceCadastrale(); Textarea Value Should Be css=#terrain_references_cadastrales ... 812BC8834A8856;878DE8898; ## 3 ## Select From Chosen List dossier_autorisation_type_detaille IN - Infraction Sleep 2 # obligation d'attendre car lors d'un changement de type de dossier il y a une temporisation JS d'une seconde Wait Until Element Is Visible css=.reference_cadastrale_custom_fields # Check nombre et contenu des champs. Et que le JS peut bien les lire. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=8 # Check fonctionnement des boutons Click Element Until New Element css=#moreFieldReferenceCadastrale0 css=${ref_cad_section_selector}:nth-child(1) ${ref_cad_fields_selector}:nth-child(7) Click Element Until New Element css=#moreFieldReferenceCadastrale1 css=${ref_cad_section_selector}:nth-child(2) ${ref_cad_fields_selector}:nth-child(7) Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=14 # Check valeur après nombre champs pour être sûr que l'ancienne valeur n'est plus là. # Car le nombre de champs change entre la partie d'avant et celle-ci donc # pas de risque que l'assert passe si ça va trop vite. Alors que la valeur ne # change pas donc ça pourrait faire un faux négatif. Execute Javascript getDataFieldReferenceCadastrale(); Textarea Value Should Be css=#terrain_references_cadastrales ... 812BC8834A8856;878DE8898; ## 4 ## &{args_petitionnaire} = Create Dictionary ... particulier_nom=Pavlovic ... particulier_prenom=Patrik ... om_collectivite=MARSEILLE &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de démolir ... demande_type=Dépôt Initial ... om_collectivite=MARSEILLE ${di_libelle} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Depuis le contexte du dossier d'instruction ${di_libelle} Click On Form Portlet Action dossier_instruction modifier Open Fieldset dossier_instruction localisation # Saisie de 812BC8834A8856 878DE8898 @{ref_cad} = Create List 812 BC 8834 A 8856 Saisir les références cadastrales ${ref_cad} # 1re ligne Click Element css=#morelineReferenceCadastrale # 1er champ, 2e ligne (dans le groupe de champs, parmis les noeuds suivants # frères du br, celui avec le placeholder "Quart.") Input Text css=${ref_cad_section_selector}:nth-child(2) #references-cadastrales--prefixe ... 878 # 2e champ, 2e ligne Input Text css=${ref_cad_section_selector}:nth-child(2) #references-cadastrales--section ... DE # 3e champ, 2e ligne Input Text css=${ref_cad_section_selector}:nth-child(2) #references-cadastrales--numero ... 8898 Click On Submit Button Valid Message Should Be Vos modifications ont bien été enregistrées. Ajouter une instruction au DI et la finaliser ${di_libelle} ... accepter un dossier sans réserve Depuis le contexte de demande sur existant via l'URL ${di_libelle} Select From List By Label demande_type Demande de modification Wait Until Element Is Visible css=.reference_cadastrale_custom_fields # Check nombre et contenu des champs. Et que le JS peut bien les lire. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=8 Execute Javascript getDataFieldReferenceCadastrale(); ${refad_from_fields} = Get Value terrain_references_cadastrales Should Be Equal 812BC8834A8856;878DE8898; ${refad_from_fields} # Changement de type pour réafficher les champs Select From List By Label demande_type Demande d'ouverture de chantier Wait Until Element Is Visible css=.reference_cadastrale_custom_fields Wait Until All JavaScript Finished # Si tout se passe trop vite, il y aura encore l'ancienne valeur # Check nombre et contenu des champs. Et que le JS peut bien les lire. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=8 Execute Javascript getDataFieldReferenceCadastrale(); ${refad_from_fields} = Get Value terrain_references_cadastrales Should Be Equal 812BC8834A8856;878DE8898; ${refad_from_fields} # Rechangement de type car les champs peuvent se casser de plus en plus avec # les réaffichages. Select From List By Label demande_type Demande de modification Wait Until Element Is Visible css=.reference_cadastrale_custom_fields Wait Until All JavaScript Finished # Si tout se passe trop vite, il y aura encore l'ancienne valeur # Check nombre et contenu des champs. Et que le JS peut bien les lire. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=8 Execute Javascript getDataFieldReferenceCadastrale(); ${refad_from_fields} = Get Value terrain_references_cadastrales Should Be Equal 812BC8834A8856;878DE8898; ${refad_from_fields} ## 5 ## Depuis le contexte de nouvelle demande via l'URL &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=REC - Recours contentieux ... autorisation_contestee=${di_libelle} Saisir la demande ${args_demande} # Check nombre et contenu des champs. Et que le JS peut bien les lire. Page Should Contain Element ... css=${ref_cad_fields_selector} limit=8 # Check fonctionnement des boutons Click Element Until New Element css=#moreFieldReferenceCadastrale0 css=${ref_cad_section_selector}:nth-child(1) ${ref_cad_fields_selector}:nth-child(7) Click Element Until New Element css=#moreFieldReferenceCadastrale1 css=${ref_cad_section_selector}:nth-child(2) ${ref_cad_fields_selector}:nth-child(7) Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=14 Execute Javascript getDataFieldReferenceCadastrale(); Textarea Value Should Be css=#terrain_references_cadastrales ... 812BC8834A8856;878DE8898; # Changement de type pour réafficher les champs Select From Chosen List dossier_autorisation_type_detaille REG - Recours gracieux Sleep 2 # obligation d'attendre car lors d'un changement de type de dossier il y a une temporisation JS d'une seconde Wait Until Element Is Visible css=.reference_cadastrale_custom_fields Wait Until All JavaScript Finished # Check nombre et contenu des champs. Et que le JS peut bien les lire. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=8 # Check fonctionnement des boutons Click Element Until New Element css=#moreFieldReferenceCadastrale0 css=${ref_cad_section_selector}:nth-child(1) ${ref_cad_fields_selector}:nth-child(7) Click Element Until New Element css=#moreFieldReferenceCadastrale1 css=${ref_cad_section_selector}:nth-child(2) ${ref_cad_fields_selector}:nth-child(7) Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=14 Execute Javascript getDataFieldReferenceCadastrale(); Textarea Value Should Be css=#terrain_references_cadastrales ... 812BC8834A8856;878DE8898; ## 6 ## Depuis le contexte du dossier d'instruction ${di_libelle} Click On Form Portlet Action dossier_instruction modifier Open Fieldset dossier_instruction demandeur # Suppression pétitionnnaire pour faire échouer la modification Click Element css=[id^=petitionnaire_principal] button.button-remove # Déclenchement erreur (plus de pétionnaire) Click On Submit Button Until Message SAISIE NON ENREGISTRÉE Open Fieldset dossier_instruction localisation # Check nombre et contenu des champs. Et que le JS peut bien les lire. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=8 # Check fonctionnement des boutons Click Element Until New Element css=#moreFieldReferenceCadastrale0 css=${ref_cad_section_selector}:nth-child(1) ${ref_cad_fields_selector}:nth-child(7) Click Element Until New Element css=#moreFieldReferenceCadastrale1 css=${ref_cad_section_selector}:nth-child(2) ${ref_cad_fields_selector}:nth-child(7) Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Page Should Contain Element ... css=${ref_cad_fields_selector} limit=14 Execute Javascript getDataFieldReferenceCadastrale(); Textarea Value Should Be css=#terrain_references_cadastrales ... 812BC8834A8856;878DE8898;