This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See http://git.chorem.org/pollen.git commit 5d56b2d902e584b7e2252dc2b4dbf5ae3bedcb13 Author: Adrien Garandel <a.garandel@dralagen.fr> Date: Mon Aug 11 15:26:56 2014 +0200 translate voterlist error messages, add somme test for VoterListService --- .../pollen/services/service/VoterListService.java | 27 ++++---- .../i18n/pollen-services_en_GB.properties | 10 +++ .../i18n/pollen-services_fr_FR.properties | 10 +++ .../services/service/VoterListServiceTest.java | 74 ++++++++++++++++++++-- 4 files changed, 101 insertions(+), 20 deletions(-) diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java index 6a26ba5..559e8b4 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java @@ -36,6 +36,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; +import static org.nuiton.i18n.I18n.l; + /** * TODO * @@ -104,11 +106,6 @@ public class VoterListService extends PollenServiceSupport { existingVoterListMembers = getVoterListMembers0(result); } - VoterListMemberTopiaDao voterListMemberDao = - getVoterListMemberDao(); - PollenPrincipalTopiaDao pollenPrincipalDao = - getPollenPrincipalDao(); - List<FavoriteListMember> favoriteListMembers = getFavoriteListService().getFavoriteListMembers0(favoriteList); for (FavoriteListMember favoriteListMember : favoriteListMembers) { @@ -473,13 +470,13 @@ public class VoterListService extends PollenServiceSupport { } - checkNotBlank(errors, VoterList.PROPERTY_NAME, voterList.getName(), "voterList name can not be empty"); - check(errors, VoterList.PROPERTY_WEIGHT, voterList.getWeight() > 0, "voterList weight must be greater than 0"); - checkNotEmpty(errors, "member", members, "voterList must contains at least one member"); + checkNotBlank(errors, VoterList.PROPERTY_NAME, voterList.getName(), l(getLocale(), "pollen.error.voterList.name.mandatory")); + check(errors, VoterList.PROPERTY_WEIGHT, voterList.getWeight() > 0, l(getLocale(), "pollen.error.voterList.weight.greaterThan0")); + checkNotEmpty(errors, "member", members, l(getLocale(), "pollen.error.voterList.member.mandatory")); boolean added = voterListNames.add(voterList.getName()); - check(errors, VoterList.PROPERTY_NAME, added, "voterList name already used"); + check(errors, VoterList.PROPERTY_NAME, added, l(getLocale(), "pollen.error.voterList.name.alreadyUsed")); int voterListMemberIndex = 0; @@ -527,28 +524,28 @@ public class VoterListService extends PollenServiceSupport { } String voterListMemberName = voterListMember.getName(); - boolean nameNotblank = checkNotBlank(errors, PollenPrincipal.PROPERTY_NAME, voterListMemberName, "member name can not be empty"); + boolean nameNotblank = checkNotBlank(errors, PollenPrincipal.PROPERTY_NAME, voterListMemberName, l(getLocale(), "pollen.error.voterList.member.name.mandatory")); if (nameNotblank) { boolean nameAdded = voterListMemberNames.add(voterListMemberName); - check(errors, PollenPrincipal.PROPERTY_NAME, nameAdded, "member name already used in this list"); + check(errors, PollenPrincipal.PROPERTY_NAME, nameAdded, l(getLocale(), "pollen.error.voterList.member.name.alreadyUsed")); } String voterListMemberEmail = getCleanMail(voterListMember.getEmail()); - boolean emailNotBlank = checkNotBlank(errors, PollenPrincipal.PROPERTY_EMAIL, voterListMemberEmail, "member email can not be empty"); + boolean emailNotBlank = checkNotBlank(errors, PollenPrincipal.PROPERTY_EMAIL, voterListMemberEmail, l(getLocale(), "pollen.error.voterList.member.email.mandatory")); if (emailNotBlank) { - checkValidEmail(errors, PollenPrincipal.PROPERTY_EMAIL, voterListMemberEmail, "member email is not valid"); + checkValidEmail(errors, PollenPrincipal.PROPERTY_EMAIL, voterListMemberEmail, l(getLocale(), "pollen.error.voterList.member.email.invalid")); boolean emailAdded = voterListMemberEmails.add(voterListMemberEmail); - check(errors, PollenPrincipal.PROPERTY_EMAIL, emailAdded, "member email already used in this list"); + check(errors, PollenPrincipal.PROPERTY_EMAIL, emailAdded, l(getLocale(), "pollen.error.voterList.member.email.alreadyUsed")); } - check(errors, VoterListMember.PROPERTY_WEIGHT, voterListMember.getWeight() > 0, "member weight must be greater than 0"); + check(errors, VoterListMember.PROPERTY_WEIGHT, voterListMember.getWeight() > 0, l(getLocale(), "pollen.error.voterList.member.weight.greaterThan0")); return errors; diff --git a/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties b/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties index 72a447f..a1cfeb7 100644 --- a/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties +++ b/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties @@ -58,6 +58,16 @@ pollen.error.vote.totalVote.invalid=Total vote value is invalid pollen.error.vote.voteValue.invalid=Value is invalid pollen.error.vote.voterName.alreadyExist=voter name is already used pollen.error.vote.voterName.mandatory=voter name can not be empty +pollen.error.voterList.member.email.alreadyUsed=member email already used in this list +pollen.error.voterList.member.email.invalid=member email is not valid +pollen.error.voterList.member.email.mandatory=member email can not be empty +pollen.error.voterList.member.mandatory=voterList must contains at least one member +pollen.error.voterList.member.name.alreadyUsed=member name already used in this list +pollen.error.voterList.member.name.mandatory=member name can not be empty +pollen.error.voterList.member.weight.greaterThan0=member weight must be greater than 0 +pollen.error.voterList.name.alreadyUsed=voterList name already used +pollen.error.voterList.name.mandatory=voterList name can not be empty +pollen.error.voterList.weight.greaterThan0=voterList weight must be greater than 0 pollen.service.mail.ChoiceAddedEmail.subject=[Pollen] A choice was added in poll %s pollen.service.mail.ChoiceDeletedEmail.subject=[Pollen] A choice was deleted in poll %s pollen.service.mail.ChoiceEditedEmail.subject=[Pollen] A choice was edited in poll %s diff --git a/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties b/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties index 244987a..f72b463 100644 --- a/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties +++ b/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties @@ -57,6 +57,16 @@ pollen.error.vote.totalVote.invalid=le total des valuers est invalide pollen.error.vote.voteValue.invalid=la valeur est invalid pollen.error.vote.voterName.alreadyExist=le nom existe déjà pollen.error.vote.voterName.mandatory=le nom est obligatoire +pollen.error.voterList.member.email.alreadyUsed=L'email du membre est déjà utilisé dans cette liste +pollen.error.voterList.member.email.invalid=L'email du membre est invalide +pollen.error.voterList.member.email.mandatory=l'email du membre est obligatoire +pollen.error.voterList.member.mandatory=la liste de votant doit comporter au moins un membre +pollen.error.voterList.member.name.alreadyUsed=Le nom du membre est déjà utilisé +pollen.error.voterList.member.name.mandatory=Le nom du membre est obligatoire +pollen.error.voterList.member.weight.greaterThan0=Le membre doit avoir un poid supérieur à 0 +pollen.error.voterList.name.alreadyUsed=Le nom de la liste de votant existe déjà +pollen.error.voterList.name.mandatory=Nom de la liste de votant est obligatoire +pollen.error.voterList.weight.greaterThan0=Poid de la liste de votant doit être supérieur à 0 pollen.service.mail.ChoiceAddedEmail.subject=[Pollen] Un choix a été ajouté au sondage %s pollen.service.mail.ChoiceDeletedEmail.subject=[Pollen] Un choix a été supprimé du sondage %s pollen.service.mail.ChoiceEditedEmail.subject=[Pollen] Un choix a été modifié sur le sondage %s diff --git a/pollen-services/src/test/java/org/chorem/pollen/services/service/VoterListServiceTest.java b/pollen-services/src/test/java/org/chorem/pollen/services/service/VoterListServiceTest.java index 44ba4c1..063afbd 100644 --- a/pollen-services/src/test/java/org/chorem/pollen/services/service/VoterListServiceTest.java +++ b/pollen-services/src/test/java/org/chorem/pollen/services/service/VoterListServiceTest.java @@ -9,11 +9,7 @@ import org.chorem.pollen.persistence.entity.PollType; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.persistence.entity.VoterList; import org.chorem.pollen.services.AbstractPollenServiceTest; -import org.chorem.pollen.services.bean.ChoiceBean; -import org.chorem.pollen.services.bean.FavoriteListBean; -import org.chorem.pollen.services.bean.PollBean; -import org.chorem.pollen.services.bean.PollenEntityRef; -import org.chorem.pollen.services.bean.VoterListMemberBean; +import org.chorem.pollen.services.bean.*; import org.chorem.pollen.services.service.security.PollenAuthenticationException; import org.chorem.pollen.services.service.security.PollenInvalidSessionTokenException; import org.junit.Assert; @@ -122,4 +118,72 @@ public class VoterListServiceTest extends AbstractPollenServiceTest { Assert.assertEquals(2, voterListMembers.size()); } + + @Test + public void createVoterList() throws InvalidFormException, PollenInvalidSessionTokenException, PollenAuthenticationException { + + login("jean@pollen.fake", "fake"); + + PollBean poll = pollService.getNewPoll(); + + poll.setPollType(PollType.RESTRICTED); + poll.setTitle("poll1"); + + List<ChoiceBean> choices = new ArrayList<>(); + + ChoiceBean choice1 = new ChoiceBean(); + choices.add(choice1); + choice1.setChoiceType(ChoiceType.TEXT); + choice1.setChoiceValue("A"); + choice1.setDescription("Choice A"); + + ChoiceBean choice2 = new ChoiceBean(); + choice2.setChoiceType(ChoiceType.TEXT); + choice2.setChoiceValue("B"); + choice2.setDescription("Choice B"); + choices.add(choice2); + + PollenEntityRef<Poll> createdPoll = pollService.createPoll(poll, choices); + Assert.assertNotNull(createdPoll); + + String pollId = createdPoll.getEntityId(); + + VoterListBean voterList = new VoterListBean(); + try { + voterListService.addVoterList(pollId, voterList, null); + Assert.fail(); + } catch (InvalidFormException e) { + // missing name + // missing member + // missing weight + assertErrorKeyFound(e, "name", "member", "weight"); + } + voterList.setWeight(1); + try { + voterListService.addVoterList(pollId, voterList, null); + Assert.fail(); + } catch (InvalidFormException e) { + // missing name + // missing member + assertErrorKeyFound(e, "name", "member"); + } + voterList.setName("voterList1"); + List<VoterListMemberBean> listMember = new ArrayList<>(); + try { + voterListService.addVoterList(pollId, voterList, listMember); + Assert.fail(); + } catch (InvalidFormException e) { + // missing member + assertErrorKeyFound(e, "member"); + } + VoterListMemberBean member = new VoterListMemberBean(); + member.setName("member1"); + member.setEmail("member1@pollen.org"); + member.setWeight(1); + + listMember.add(member); + PollenEntityRef<VoterList> voterListPersisted = voterListService.addVoterList(pollId, voterList, listMember); + Assert.assertNotNull(voterListPersisted); + + } } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.