Rev 399 | 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.Test;import org.mockito.Mockito;import org.tela_botanica.del.client.cache.CacheClient;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 {PaginationPresenteur paginationHautPresenteur;PaginationPresenteur paginationBasPresenteur;@Testpublic void TestSynchroWidgetPagination() {PaginationPresenteur.Vue vueBas = creerMockVuePaginationPresenteur();this.paginationBasPresenteur = new PaginationPresenteur(vueBas, 100, 10) {@Overridepublic void changerPage(int debut, int fin) {//TODO: tester avec des données factices, est-ce utile ici ?}@Overridepublic void actualiserPasCache(int pas) {CacheClient.getInstance().setPasPagination(pas);}@Overridepublic void synchroniser() {paginationHautPresenteur.setPas(getPas());paginationHautPresenteur.setPageCourante(getPageCourante());paginationHautPresenteur.setNbPages(getNbPages());paginationHautPresenteur.actualiserLiens();}};PaginationPresenteur.Vue vueHaut = creerMockVuePaginationPresenteur();this.paginationHautPresenteur = new PaginationPresenteur(vueHaut,100, 10) {@Overridepublic void changerPage(int debut, int fin) {// tester des trucs}@Overridepublic void actualiserPasCache(int pas) {}@Overridepublic void synchroniser() {paginationBasPresenteur.setPas(getPas());paginationBasPresenteur.setPageCourante(getPageCourante());paginationBasPresenteur.setNbPages(getNbPages());paginationBasPresenteur.actualiserLiens();}};HasWidgets conteneur = Mockito.mock(HasWidgets.class);paginationBasPresenteur.go(conteneur);paginationHautPresenteur.go(conteneur);assertEquals(1, paginationHautPresenteur.getPageCourante());assertEquals(1, paginationBasPresenteur.getPageCourante());paginationHautPresenteur.changerPas(20);paginationHautPresenteur.synchroniser();assertEquals(20, paginationBasPresenteur.getPas());assertEquals(20, paginationHautPresenteur.getPas());paginationBasPresenteur.setPageCourante(4);paginationBasPresenteur.changerPage(4*20,5*20);paginationBasPresenteur.synchroniser();assertEquals(4, paginationHautPresenteur.getPageCourante());paginationBasPresenteur.changerPas(10);paginationBasPresenteur.synchroniser();assertEquals(8, paginationHautPresenteur.getPageCourante());assertEquals(8, paginationBasPresenteur.getPageCourante());}private PaginationPresenteur.Vue creerMockVuePaginationPresenteur() {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;}}