Search in sources :

Example 16 with User

use of org.mamute.model.User in project mamute by caelum.

the class ReputationEventDAOTest method should_return_tag_asker_summary.

@Test
public void should_return_tag_asker_summary() {
    User question1Author = user("solutionAuthor", "solution@x.com");
    User question3Author = user("answerAuthor", "other@x.com");
    session.save(question3Author);
    session.save(question1Author);
    Tag tag = tag("teste");
    session.save(tag);
    Question question1 = question(question1Author, tag);
    Question question2 = question(question1Author, tag);
    Question question3 = question(question3Author, tag);
    session.save(question1);
    session.save(question2);
    session.save(question3);
    for (int i = 0; i < 30; i++) {
        session.save(new ReputationEvent(EventType.QUESTION_UPVOTE, question1, question1Author));
    }
    session.save(new ReputationEvent(EventType.QUESTION_UPVOTE, question2, question1Author));
    long karmaRewardForQuestion1 = EventType.QUESTION_UPVOTE.reward().longValue() * 31;
    for (int i = 0; i < 10; i++) {
        session.save(new ReputationEvent(EventType.QUESTION_UPVOTE, question3, question3Author));
    }
    long karmaRewardForQuestion2 = EventType.QUESTION_UPVOTE.reward().longValue() * 10;
    List<UserSummaryForTag> summaryForTag = reputationEvents.getTopAskersSummaryAllTime(tag);
    assertEquals(2, summaryForTag.size());
    assertEquals(karmaRewardForQuestion1, summaryForTag.get(0).getKarmaReward().longValue());
    assertEquals(question1Author, summaryForTag.get(0).getUser());
    assertEquals(2l, summaryForTag.get(0).getCount().longValue());
    assertEquals(karmaRewardForQuestion2, summaryForTag.get(1).getKarmaReward().longValue());
    assertEquals(question3Author, summaryForTag.get(1).getUser());
    assertEquals(1l, summaryForTag.get(1).getCount().longValue());
}
Also used : UserSummaryForTag(org.mamute.dto.UserSummaryForTag) User(org.mamute.model.User) LoggedUser(org.mamute.model.LoggedUser) Question(org.mamute.model.Question) Tag(org.mamute.model.Tag) UserSummaryForTag(org.mamute.dto.UserSummaryForTag) ReputationEvent(org.mamute.model.ReputationEvent) Test(org.junit.Test)

Example 17 with User

use of org.mamute.model.User in project mamute by caelum.

the class ReputationEventDAOTest method should_return_tag_answerer_summary.

@Test
public void should_return_tag_answerer_summary() {
    User solutionAuthor = user("solutionAuthor", "solution@x.com");
    User otherAnswerAuthor = user("answerAuthor", "other@x.com");
    Tag tag = tag("teste");
    Question question1 = question(author, tag);
    Answer answer1 = answer("BLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLA", question1, solutionAuthor);
    Answer answer2 = answer("BLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLA", question1, otherAnswerAuthor);
    Question question2 = question(author, tag);
    Answer answer3 = answer("BLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLA", question2, solutionAuthor);
    ReputationEvent answer3Upvote = new ReputationEvent(EventType.ANSWER_UPVOTE, question2, solutionAuthor);
    for (int i = 0; i < 30; i++) {
        ReputationEvent questionUpvote = new ReputationEvent(EventType.QUESTION_UPVOTE, question1, author);
        session.save(questionUpvote);
    }
    ReputationEvent answerIsSolution = new ReputationEvent(EventType.SOLVED_QUESTION, question1, solutionAuthor);
    ReputationEvent solutionUpvote = new ReputationEvent(EventType.ANSWER_UPVOTE, question1, solutionAuthor);
    long karmaRewardForSolution = SOLVED_QUESTION.reward().longValue() + ANSWER_UPVOTE.reward().longValue() * 2;
    ReputationEvent answer2Upvote = new ReputationEvent(EventType.ANSWER_UPVOTE, question1, otherAnswerAuthor);
    ReputationEvent answer2Upvote2 = new ReputationEvent(EventType.ANSWER_UPVOTE, question1, otherAnswerAuthor);
    long karmaRewardForOtherAnswer = ANSWER_UPVOTE.reward().longValue() * 2;
    session.save(tag);
    session.save(question1);
    session.save(question2);
    session.save(otherAnswerAuthor);
    session.save(solutionAuthor);
    session.save(answer1);
    session.save(answer2);
    session.save(answer3);
    session.save(answerIsSolution);
    session.save(solutionUpvote);
    session.save(answer2Upvote);
    session.save(answer2Upvote2);
    session.save(answer3Upvote);
    List<UserSummaryForTag> summaryForTag = reputationEvents.getTopAnswerersSummaryAllTime(tag);
    assertEquals(2, summaryForTag.size());
    assertEquals(karmaRewardForSolution, summaryForTag.get(0).getKarmaReward().longValue());
    assertEquals(solutionAuthor, summaryForTag.get(0).getUser());
    assertEquals(2l, summaryForTag.get(0).getCount().longValue());
    assertEquals(karmaRewardForOtherAnswer, summaryForTag.get(1).getKarmaReward().longValue());
    assertEquals(otherAnswerAuthor, summaryForTag.get(1).getUser());
    assertEquals(1l, summaryForTag.get(1).getCount().longValue());
}
Also used : Answer(org.mamute.model.Answer) UserSummaryForTag(org.mamute.dto.UserSummaryForTag) User(org.mamute.model.User) LoggedUser(org.mamute.model.LoggedUser) Question(org.mamute.model.Question) Tag(org.mamute.model.Tag) UserSummaryForTag(org.mamute.dto.UserSummaryForTag) ReputationEvent(org.mamute.model.ReputationEvent) Test(org.junit.Test)

Example 18 with User

use of org.mamute.model.User in project mamute by caelum.

the class TestCase method user.

protected User user(String name, String email, Long id) {
    User user = user(name, email);
    setId(user, id);
    return user;
}
Also used : User(org.mamute.model.User) LoggedUser(org.mamute.model.LoggedUser)

Example 19 with User

use of org.mamute.model.User in project mamute by caelum.

the class TestCase method userWithPassword.

protected User userWithPassword(String name, String email) {
    User user = user(name, email);
    LoginMethod brutalLogin = LoginMethod.brutalLogin(user, email, "123456");
    user.add(brutalLogin);
    return user;
}
Also used : User(org.mamute.model.User) LoggedUser(org.mamute.model.LoggedUser) LoginMethod(org.mamute.model.LoginMethod)

Example 20 with User

use of org.mamute.model.User in project mamute by caelum.

the class UserDAOTest method should_find_by_email_and_login_method.

@Test
public void should_find_by_email_and_login_method() throws Exception {
    User user = saveUser("chico@brutal.com");
    User found = users.findByEmailAndMethod("chico@brutal.com", MethodType.FACEBOOK);
    assertNotNull(found);
    assertEquals(user, found);
}
Also used : User(org.mamute.model.User) Test(org.junit.Test)

Aggregations

User (org.mamute.model.User)97 Test (org.junit.Test)56 Question (org.mamute.model.Question)28 LoggedUser (org.mamute.model.LoggedUser)25 VRaptorTestResult (br.com.caelum.vraptor.test.VRaptorTestResult)9 UserFlow (br.com.caelum.vraptor.test.requestflow.UserFlow)9 Answer (org.mamute.model.Answer)9 LoginMethod (org.mamute.model.LoginMethod)9 Post (br.com.caelum.vraptor.Post)7 Before (org.junit.Before)7 Tag (org.mamute.model.Tag)7 QuestionInformation (org.mamute.model.QuestionInformation)6 Email (org.apache.commons.mail.Email)5 UserPersonalInfo (org.mamute.dto.UserPersonalInfo)5 ReputationEvent (org.mamute.model.ReputationEvent)5 ArrayList (java.util.ArrayList)4 Watcher (org.mamute.model.watch.Watcher)4 DateTime (org.joda.time.DateTime)3 Elements (org.jsoup.select.Elements)3 DaoManager (org.mamute.integration.util.DaoManager)3