New file |
0,0 → 1,103 |
package org.tela_botanica.del.test.composants.votes; |
|
import static org.junit.Assert.assertEquals; |
|
import java.util.ArrayList; |
import java.util.List; |
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.votes.moyennevotes.MoyenneVotePresenteur; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.VoteProtocole; |
|
import com.google.gwt.user.client.ui.HasWidgets; |
|
public class MoyenneVotePresenteurTest { |
|
MoyenneVotePresenteur mvp; |
HasWidgets container; |
List<Protocole> tousLesProtocoles = new ArrayList<Protocole>(); |
MoyenneVotePresenteur.Vue vue; |
Image imageCourante; |
|
@Before |
public void setUp() { |
|
CacheClient.getInstance().getUtilisateur().setId(0+""); |
|
Protocole protocol1 = new Protocole(); |
protocol1.setNom(Protocole.ESTHETISME); |
protocol1.setId(0); |
|
Protocole protocol2 = new Protocole(); |
protocol2.setNom(Protocole.IDENTIFICATION_AUTOMATIQUE); |
protocol2.setId(1); |
|
tousLesProtocoles.add(protocol1); |
tousLesProtocoles.add(protocol2); |
|
imageCourante = new Image(); |
Protocole protocole = tousLesProtocoles.get(0); |
vue = Mockito.mock(MoyenneVotePresenteur.Vue.class,Mockito.RETURNS_DEEP_STUBS); |
mvp = new MoyenneVotePresenteur(imageCourante, protocole, vue); |
container = Mockito.mock(HasWidgets.class, Mockito.RETURNS_DEEP_STUBS); |
mvp.go(container); |
} |
|
@Test |
public void testerVoteMemeUtilisateur() { |
// Un même utilisateur vote deux fois sur la même image, même protocole, en faisant des votes différents |
assertEquals(1, imageCourante.getListeVotesProtocoles().size()); |
mvp.setValeurVoteUtilisateur(3); |
mvp.enregistrerVote(); |
|
// la valeur du vote change mais le nombre de vote ne change pas, son vote est remplacé |
mvp.setValeurVoteUtilisateur(1); |
mvp.enregistrerVote(); |
assertEquals(1, imageCourante.getVotesProtocoles(0).size()); |
assertEquals(1, mvp.getValeurVoteTotal()); |
} |
|
@Test |
public void testerTroisVotesUtilisateursDifferents() { |
|
// Trois utilisateur différents votent pour la même image et le même protocole |
CacheClient.getInstance().getUtilisateur().setId(0+""); |
assertEquals(1, imageCourante.getListeVotesProtocoles().size()); |
mvp.setValeurVoteUtilisateur(3); |
mvp.enregistrerVote(); |
|
CacheClient.getInstance().getUtilisateur().setId(1+""); |
mvp.setValeurVoteUtilisateur(1); |
mvp.enregistrerVote(); |
assertEquals(2, imageCourante.getVotesProtocoles(0).size()); |
assertEquals(2, mvp.getValeurVoteTotal()); |
|
CacheClient.getInstance().getUtilisateur().setId(2+""); |
mvp.setValeurVoteUtilisateur(5); |
mvp.enregistrerVote(); |
assertEquals(3, imageCourante.getVotesProtocoles(0).size()); |
assertEquals(3, mvp.getValeurVoteTotal()); |
|
// Le premier utilisateur change d'avis et modifie son vote |
CacheClient.getInstance().getUtilisateur().setId(0+""); |
assertEquals(1, imageCourante.getListeVotesProtocoles().size()); |
mvp.setValeurVoteUtilisateur(5); |
mvp.enregistrerVote(); |
// La moyenne des vote change mais le nombre de vote ne doit pas changer |
assertEquals(3, imageCourante.getVotesProtocoles(0).size()); |
assertEquals(4, mvp.getValeurVoteTotal()); |
} |
|
@Test |
public void testerDeuxVotesMemeUtilisateursProtocolesDifferents() { |
// Trois utilisateur différents votent pour la même image et le même protocole |
CacheClient.getInstance().getUtilisateur().setId(0+""); |
assertEquals(1, imageCourante.getListeVotesProtocoles().size()); |
mvp.setValeurVoteUtilisateur(3); |
mvp.enregistrerVote(); |
} |
} |