Rev 814 | Blame | Compare with Previous | Last modification | View Log | RSS feed
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.services.rest.VoteProtocoleService;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;@Beforepublic void setUp() {CacheClient.getInstance().getUtilisateur().setId(0+"");Protocole protocol1 = new Protocole();protocol1.setNom("esthétique");protocol1.setId(0);Protocole protocol2 = new Protocole();protocol2.setNom("capitalisation de scan de feuilles");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);VoteProtocoleService voteProtocoleService=Mockito.mock(VoteProtocoleService.class);mvp = new MoyenneVotePresenteur(imageCourante, protocole, vue, voteProtocoleService);container = Mockito.mock(HasWidgets.class, Mockito.RETURNS_DEEP_STUBS);mvp.go(container);}@Testpublic void testerVoteMemeUtilisateur() {// Un même utilisateur vote deux fois sur la même image, même protocole, en faisant des votes différentsassertEquals(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());}@Testpublic void testerTroisVotesUtilisateursDifferents() {// Trois utilisateur différents votent pour la même image et le même protocoleCacheClient.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 voteCacheClient.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 changerassertEquals(3, imageCourante.getVotesProtocoles(0).size());assertEquals(4, mvp.getValeurVoteTotal());}@Testpublic void testerDeuxVotesMemeUtilisateursProtocolesDifferents() {// Trois utilisateur différents votent pour la même image et le même protocoleCacheClient.getInstance().getUtilisateur().setId(0+"");assertEquals(1, imageCourante.getListeVotesProtocoles().size());mvp.setValeurVoteUtilisateur(3);mvp.enregistrerVote();}}