Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
399 aurelien 1
package org.tela_botanica.del.test.composants.pagination;
2
 
534 benjamin 3
import static org.junit.Assert.assertEquals;
399 aurelien 4
import static org.mockito.Mockito.when;
5
 
413 aurelien 6
import org.junit.Before;
399 aurelien 7
import org.junit.Test;
8
import org.mockito.Mockito;
9
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
534 benjamin 10
 
399 aurelien 11
import com.google.gwt.event.dom.client.HasChangeHandlers;
12
import com.google.gwt.event.dom.client.HasClickHandlers;
13
import com.google.gwt.user.client.ui.HasWidgets;
14
 
15
public class PaginationPresenteurTest {
534 benjamin 16
 
446 aurelien 17
	/**
18
	 * Presenteur utilisé pour le test de synchro pagination
19
	 */
399 aurelien 20
	PaginationPresenteur paginationHautPresenteur;
446 aurelien 21
	/**
22
	 * Presenteur utilisé pour le test de synchro pagination
23
	 */
399 aurelien 24
	PaginationPresenteur paginationBasPresenteur;
534 benjamin 25
 
446 aurelien 26
	/**
534 benjamin 27
	 * Presenteur utilisé seul qui ne doit pas réagir au évènements lancés par
28
	 * les deux autres
446 aurelien 29
	 */
413 aurelien 30
	PaginationPresenteur paginationPresenteurSeul;
534 benjamin 31
 
32
	@Before
413 aurelien 33
	public void setUp() {
534 benjamin 34
		PaginationPresenteur.Vue vueBas = creerMockVuePaginationPresenteurBasique();
445 benjamin 35
		this.paginationBasPresenteur = new PaginationPresenteur(vueBas, 100, 10, 1) {
446 aurelien 36
 
399 aurelien 37
			@Override
445 benjamin 38
			public void chargerElements(int debut, int fin) {
446 aurelien 39
				// TODO Auto-generated method stub
534 benjamin 40
 
399 aurelien 41
			}
42
 
43
			@Override
44
			public void actualiserPasCache(int pas) {
446 aurelien 45
				// TODO Auto-generated method stub
534 benjamin 46
 
399 aurelien 47
			}
48
		};
534 benjamin 49
 
413 aurelien 50
		PaginationPresenteur.Vue vueHaut = creerMockVuePaginationPresenteurBasique();
534 benjamin 51
		this.paginationHautPresenteur = new PaginationPresenteur(vueHaut, 100, 10, 1) {
399 aurelien 52
 
53
			@Override
534 benjamin 54
			public void actualiserPasCache(int pas) {
399 aurelien 55
			}
56
 
57
			@Override
446 aurelien 58
			public void chargerElements(int debut, int fin) {
59
				// TODO Auto-generated method stub
534 benjamin 60
 
399 aurelien 61
			}
62
		};
534 benjamin 63
 
413 aurelien 64
		PaginationPresenteur.Vue vueSeule = creerMockVuePaginationPresenteurBasique();
445 benjamin 65
		this.paginationPresenteurSeul = new PaginationPresenteur(vueSeule, 100, 10, 1) {
446 aurelien 66
 
413 aurelien 67
			@Override
534 benjamin 68
			public void actualiserPasCache(int pas) {
69
			}
413 aurelien 70
 
71
			@Override
446 aurelien 72
			public void chargerElements(int debut, int fin) {
73
				// TODO Auto-generated method stub
534 benjamin 74
 
445 benjamin 75
			}
413 aurelien 76
		};
534 benjamin 77
 
446 aurelien 78
		HasWidgets containerMock = Mockito.mock(HasWidgets.class);
534 benjamin 79
 
446 aurelien 80
		paginationHautPresenteur.setGroupePagination("pagination_synchro");
81
		paginationBasPresenteur.setGroupePagination("pagination_synchro");
534 benjamin 82
 
446 aurelien 83
		paginationHautPresenteur.go(containerMock);
84
		paginationBasPresenteur.go(containerMock);
534 benjamin 85
 
446 aurelien 86
		paginationPresenteurSeul.go(containerMock);
413 aurelien 87
	}
534 benjamin 88
 
413 aurelien 89
	@Test
446 aurelien 90
	public void testSynchronisationChangementPageCourante() {
534 benjamin 91
 
446 aurelien 92
		assertEquals(1, paginationHautPresenteur.getPageCourante());
93
		assertEquals(1, paginationBasPresenteur.getPageCourante());
534 benjamin 94
 
446 aurelien 95
		paginationBasPresenteur.allerALapageSuivante();
96
		assertEquals(2, paginationHautPresenteur.getPageCourante());
413 aurelien 97
	}
534 benjamin 98
 
446 aurelien 99
	@Test
100
	public void testSynchronisationChangementPas() {
101
		paginationBasPresenteur.changerPas(20);
102
		assertEquals(1, paginationBasPresenteur.getPageCourante());
103
		assertEquals(20, paginationHautPresenteur.getPas());
104
	}
534 benjamin 105
 
446 aurelien 106
	@Test
107
	public void testGroupePaginationDifferents() {
108
		paginationPresenteurSeul.allerALapageSuivante();
109
		assertEquals(2, paginationPresenteurSeul.getPageCourante());
534 benjamin 110
 
446 aurelien 111
		paginationBasPresenteur.allerAlaDernierePage();
534 benjamin 112
		assertEquals(10, paginationHautPresenteur.getPageCourante());
113
		assertEquals(10, paginationBasPresenteur.getPageCourante());
114
 
446 aurelien 115
		assertEquals(2, paginationPresenteurSeul.getPageCourante());
116
	}
534 benjamin 117
 
413 aurelien 118
	private PaginationPresenteur.Vue creerMockVuePaginationPresenteurBasique() {
534 benjamin 119
 
120
		PaginationPresenteur.Vue vueMock = Mockito.mock(PaginationPresenteur.Vue.class);
399 aurelien 121
		HasWidgets zoneLiens = Mockito.mock(HasWidgets.class);
122
		HasChangeHandlers selecteurPas = Mockito.mock(HasChangeHandlers.class);
123
		HasClickHandlers boutonPrecedent = Mockito.mock(HasClickHandlers.class);
124
		HasClickHandlers boutonSuivant = Mockito.mock(HasClickHandlers.class);
125
		HasClickHandlers boutonPremierePage = Mockito.mock(HasClickHandlers.class);
126
		HasClickHandlers boutonDernierePage = Mockito.mock(HasClickHandlers.class);
534 benjamin 127
 
399 aurelien 128
		when(vueMock.getZoneLiens()).thenReturn(zoneLiens);
129
		when(vueMock.getSelecteurPas()).thenReturn(selecteurPas);
130
		when(vueMock.getBoutonPrecedent()).thenReturn(boutonPrecedent);
131
		when(vueMock.getBoutonSuivant()).thenReturn(boutonSuivant);
132
		when(vueMock.getBoutonPremierePage()).thenReturn(boutonPremierePage);
133
		when(vueMock.getBoutonDernierePage()).thenReturn(boutonDernierePage);
534 benjamin 134
 
399 aurelien 135
		return vueMock;
136
	}
137
}