Subversion Repositories eFlore/Applications.del

Rev

Rev 597 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.del.test.composants.identification;

import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.formulaires.identification.FormulaireIdentificationPresenteur;
import org.tela_botanica.del.client.composants.formulaires.identification.FormulaireIdentificationVue;
import org.tela_botanica.del.client.modeles.Utilisateur;
import org.tela_botanica.del.client.services.rest.UtilisateurService;
import org.tela_botanica.del.client.services.rest.UtilisateurServiceConcret;
import org.tela_botanica.del.client.services.rest.async.UtilisateurCallback;

public class FormulaireIdentificationPresenteurTest {
        
        FormulaireIdentificationPresenteur.Vue vue;
        FormulaireIdentificationPresenteur presenteur;
        Utilisateur utilisateurDepart;
        
        @Before
        public void setUp() throws Exception {
                
                utilisateurDepart = new Utilisateur("gregoire@tela-botanica.org");
                utilisateurDepart.setIdentifie(true);
                utilisateurDepart.setCourriel("gregoire@tela-botanica.org");
                utilisateurDepart.setNom("Duché");
                utilisateurDepart.setPrenom("Grégoire");
                
                vue = Mockito.mock(FormulaireIdentificationPresenteur.Vue.class, Mockito.RETURNS_MOCKS);
                presenteur = new FormulaireIdentificationPresenteur(vue, new UtilisateurService() {
                        @Override
                        public void obtenirUtilisateur(UtilisateurCallback callback) {
                        }
                        
                        @Override
                        public void deconnecterUtilisateur(String login, UtilisateurCallback callback) {
                                CacheClient.getInstance().setUtilisateur(null);
                        }
                        
                        @Override
                        public void connecterUtilisateur(String login, String motDePasse, UtilisateurCallback callback) {
                                Utilisateur utilisateur = new Utilisateur(login);
                                utilisateur.setCourriel(login);
                                utilisateur.setIdentifie(true);
                                CacheClient.getInstance().setUtilisateur(utilisateur);
                                
                        }
                });
        }

        @Test
        public void loginOk() {
                presenteur.connecterUtilisateur(utilisateurDepart.getId(), "test");
                Utilisateur utilisateurCache = CacheClient.getInstance().getUtilisateur();
                assertEquals(utilisateurDepart.getCourriel(), utilisateurCache.getCourriel());
                assertEquals(true, utilisateurCache.estIdentifie());
        }
        
        @Test
        public void deconnecter() {
                presenteur.deconnecterUtilisateur(utilisateurDepart.getCourriel());
                Utilisateur utilisateurCache = CacheClient.getInstance().getUtilisateur();
                assertEquals(null, utilisateurCache.getId());
                assertEquals(false, utilisateurCache.estIdentifie());
        }
}