*** Settings ***
Resource  resources/resources.robot
Suite Setup  For Suite Setup
Suite Teardown  For Suite Teardown
Documentation  ...


*** Test Cases ***
Constitution du jeu de données
    [Documentation]  ...
    #
    Depuis la page d'accueil  admin  admin
    #
    Set Suite Variable  ${testid}  110
    #
    &{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}
    #
    &{zone02_cim01} =  Create Dictionary
    ...  cimetiere=${cimetiere01.cimetierelib}
    ...  zonetype=ENCLOS
    ...  zonelib=Z${testid}-02
    Ajouter la zone  ${zone02_cim01}
    Set Suite Variable  ${zone02_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}
    #
    &{voie02_zone01_cim01} =  Create Dictionary
    ...  zone=${zone01_cim01.zonetype} ${zone01_cim01.zonelib} (${zone01_cim01.cimetiere})
    ...  voietype=DIVISION
    ...  voielib=V${testid}-02
    Ajouter la voie  ${voie02_zone01_cim01}
    Set Suite Variable  ${voie02_zone01_cim01}
    #
    &{voie03_zone02_cim01} =  Create Dictionary
    ...  zone=${zone02_cim01.zonetype} ${zone02_cim01.zonelib} (${zone02_cim01.cimetiere})
    ...  voietype=ILOT
    ...  voielib=v${testid}-03
    Ajouter la voie  ${voie03_zone02_cim01}
    Set Suite Variable  ${voie03_zone02_cim01}
    #
    &{voie04_zone02_cim01} =  Create Dictionary
    ...  zone=${zone02_cim01.zonetype} ${zone02_cim01.zonelib} (${zone02_cim01.cimetiere})
    ...  voietype=DIVISION
    ...  voielib=v${testid}-04
    Ajouter la voie  ${voie04_zone02_cim01}
    Set Suite Variable  ${voie04_zone02_cim01}
    #
    &{cimetiere02} =  Create Dictionary
    ...  cimetierelib=CIMETIERE${testid}-02
    ...  adresse1=RUE DE ROME
    ...  adresse2=
    ...  cp=99607
    ...  ville=LIBREVILLE
    ...  observations=
    Ajouter le cimetière  ${cimetiere02}
    Set Suite Variable  ${cimetiere02}
    #
    &{concession01} =  Create Dictionary
    ...  famille=DURAND${testid}
    ...  numero=12
    ...  cimetierelib=${cimetiere01.cimetierelib}
    ...  zonelib=${zone01_cim01.zonetype} ${zone01_cim01.zonelib}
    ...  voielib=${voie02_zone01_cim01.voietype} ${voie02_zone01_cim01.voielib}
    ${concession01_id} =  Ajouter la concession  ${concession01}
    Set Suite Variable  ${concession01_id}
    Set Suite Variable  ${concession01}


Ajout d'une concession
    [Documentation]  Ce test permet simplement de vérifier l'ajout d'une
    ...  concession avec ses informations obligatoires.
    #
    Depuis la page d'accueil  admin  admin
    #
    Depuis le formulaire d'ajout d'une concession
    Page Title Should Be  Emplacements > Concession
    Submenu In Menu Should Be Selected  emplacement  concession
    #
    Click On Submit Button
    Error Message Should Contain  Le champ famille est obligatoire
    Error Message Should Contain  Le champ voie est obligatoire
    Error Message Should Contain  Le champ numéro est obligatoire
    Error Message Should Contain  SAISIE NON ENREGISTRÉE
    #
    &{concession02} =  Create Dictionary
    ...  famille=DUPONT${testid}
    ...  numero=14
    ...  cimetierelib=${cimetiere01.cimetierelib}
    ...  zonelib=${zone01_cim01.zonetype} ${zone01_cim01.zonelib}
    ...  voielib=${voie01_zone01_cim01.voietype} ${voie01_zone01_cim01.voielib}
    Saisir les valeurs dans le formulaire de l'emplacement  ${concession02}
    Click On Submit Button
    Valid Message Should Be  Vos modifications ont bien été enregistrées.


Ajout d'un dossier sur une concession
    [Documentation]  Ce test permet de vérifier l'ajout d'un fichier sur un
    ...  emplacement.
    #
    Depuis la page d'accueil  admin  admin
    #
    &{dossier} =  Create Dictionary
    ...  fichier=p-concession-1.jpg
    ...  datedossier=04/06/2013
    ...  typedossier=photo
    ...  observation=Photo de l'emplacement
    Ajouter le dossier dans le contexte de la concession  ${dossier}  ${concession01_id}


Ajout d'un concessionnaire sur une concession
    [Documentation]  Ce test permet de vérifier l'ajout d'un concessionnaire
    ...  emplacement.
    #
    Depuis la page d'accueil  admin  admin
    #
    &{concessionnaire} =  Create Dictionary
    ...  titre=Monsieur
    ...  nom=MICHEL
    ...  marital=
    ...  prenom=Henri
    ...  datenaissance=10/01/1980
    ...  adresse1=12 rue de la République
    ...  adresse2=
    ...  cp=99678
    ...  ville=LIBREVILLE
    ...  dcd=true
    ...  observation=
    Ajouter le concessionnaire dans le contexte de la concession  ${concessionnaire}  ${concession01_id}


Ajout d'un courrier sur une concession
    [Documentation]  Seules les lettres types actives doivent être proposées.
    #
    Depuis la page d'accueil  admin  admin
    #
    Ajouter la lettre-type depuis le menu  test110concessionscourrier  test110concessionscourrier actif  test110concessionscourrier  test110concessionscourrier  Requête COURRIER  true
    #
    Depuis l'onglet 'courrier' de la concession  ${concession01_id}
    Click On Add Button JS
    ${listeRecuperee} =    Get List Items  css=#lettretype
    List Should Contain Value    ${listeRecuperee}  test110concessionscourrier test110concessionscourrier actif
    #
    Modifier la lettre-type  test110concessionscourrier  test110concessionscourrier non actif  null  null  null  false
    #
    Depuis l'onglet 'courrier' de la concession  ${concession01_id}
    Click On Add Button JS
    ${listeRecuperee} =    Get List Items  css=#lettretype
    List Should Not Contain Value    ${listeRecuperee}  test110concessionscourrier test110concessionscourrier non actif


Vue sommaire d'un emplacement
    [Documentation]
    #
    Depuis la page d'accueil  admin  admin
    #
    Go To  ${PROJECT_URL}${OM_ROUTE_FORM}&obj=concession&action=12&idx=${concession01_id}
    Wait Until Keyword Succeeds  ${TIMEOUT}  ${RETRY_INTERVAL}  Element Should Contain  css=#form-container  ${concession01.famille}
    La page ne doit pas contenir d'erreur