Rev 445 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.test.composants.pagination;
import static org.junit.Assert.*;
import static org.mockito.Mockito.when;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
import com.google.gwt.event.dom.client.HasChangeHandlers;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.ui.HasWidgets;
public class PaginationPresenteurTest {
/**
* Presenteur utilisé pour le test de synchro pagination
*/
PaginationPresenteur paginationHautPresenteur;
/**
* Presenteur utilisé pour le test de synchro pagination
*/
PaginationPresenteur paginationBasPresenteur;
/**
* Presenteur utilisé seul qui ne doit pas réagir au évènements lancés par les deux autres
*/
PaginationPresenteur paginationPresenteurSeul;
@Before
public void setUp() {
PaginationPresenteur.Vue vueBas = creerMockVuePaginationPresenteurBasique();
this.paginationBasPresenteur = new PaginationPresenteur(vueBas, 100, 10, 1) {
@Override
public void chargerElements(int debut, int fin) {
// TODO Auto-generated method stub
}
@Override
public void actualiserPasCache(int pas) {
// TODO Auto-generated method stub
}
};
PaginationPresenteur.Vue vueHaut = creerMockVuePaginationPresenteurBasique();
this.paginationHautPresenteur = new PaginationPresenteur(vueHaut,100, 10, 1) {
@Override
public void actualiserPasCache(int pas) {
}
@Override
public void chargerElements(int debut, int fin) {
// TODO Auto-generated method stub
}
};
PaginationPresenteur.Vue vueSeule = creerMockVuePaginationPresenteurBasique();
this.paginationPresenteurSeul = new PaginationPresenteur(vueSeule, 100, 10, 1) {
@Override
public void actualiserPasCache(int pas) {}
@Override
public void chargerElements(int debut, int fin) {
// TODO Auto-generated method stub
}
};
HasWidgets containerMock = Mockito.mock(HasWidgets.class);
paginationHautPresenteur.setGroupePagination("pagination_synchro");
paginationBasPresenteur.setGroupePagination("pagination_synchro");
paginationHautPresenteur.go(containerMock);
paginationBasPresenteur.go(containerMock);
paginationPresenteurSeul.go(containerMock);
}
@Test
public void testSynchronisationChangementPageCourante() {
assertEquals(1, paginationHautPresenteur.getPageCourante());
assertEquals(1, paginationBasPresenteur.getPageCourante());
paginationBasPresenteur.allerALapageSuivante();
assertEquals(2, paginationHautPresenteur.getPageCourante());
}
@Test
public void testSynchronisationChangementPasEtDecalage() {
assertEquals(1, paginationHautPresenteur.getPageCourante());
assertEquals(1, paginationBasPresenteur.getPageCourante());
paginationBasPresenteur.allerALapageSuivante();
paginationBasPresenteur.allerALapageSuivante();
paginationBasPresenteur.allerALapageSuivante();
assertEquals(4, paginationHautPresenteur.getPageCourante());
paginationBasPresenteur.changerPas(5);
assertEquals(5, paginationHautPresenteur.getPas());
assertEquals(8, paginationBasPresenteur.getPageCourante());
}
@Test
public void testSynchronisationChangementPas() {
paginationBasPresenteur.changerPas(20);
assertEquals(1, paginationBasPresenteur.getPageCourante());
assertEquals(20, paginationHautPresenteur.getPas());
}
@Test
public void testGroupePaginationDifferents() {
paginationPresenteurSeul.allerALapageSuivante();
assertEquals(2, paginationPresenteurSeul.getPageCourante());
paginationBasPresenteur.allerAlaDernierePage();
assertEquals(9, paginationHautPresenteur.getPageCourante());
assertEquals(9, paginationBasPresenteur.getPageCourante());
assertEquals(2, paginationPresenteurSeul.getPageCourante());
}
private PaginationPresenteur.Vue creerMockVuePaginationPresenteurBasique() {
PaginationPresenteur.Vue vueMock = Mockito.mock(PaginationPresenteur.Vue.class);
HasWidgets zoneLiens = Mockito.mock(HasWidgets.class);
HasChangeHandlers selecteurPas = Mockito.mock(HasChangeHandlers.class);
HasClickHandlers boutonPrecedent = Mockito.mock(HasClickHandlers.class);
HasClickHandlers boutonSuivant = Mockito.mock(HasClickHandlers.class);
HasClickHandlers boutonPremierePage = Mockito.mock(HasClickHandlers.class);
HasClickHandlers boutonDernierePage = Mockito.mock(HasClickHandlers.class);
when(vueMock.getZoneLiens()).thenReturn(zoneLiens);
when(vueMock.getSelecteurPas()).thenReturn(selecteurPas);
when(vueMock.getBoutonPrecedent()).thenReturn(boutonPrecedent);
when(vueMock.getBoutonSuivant()).thenReturn(boutonSuivant);
when(vueMock.getBoutonPremierePage()).thenReturn(boutonPremierePage);
when(vueMock.getBoutonDernierePage()).thenReturn(boutonDernierePage);
return vueMock;
}
}