Subversion Repositories eFlore/Applications.del

Rev

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