/* * Copyright (c) JForum Team. All rights reserved. * * The software in this package is published under the terms of the LGPL * license a copy of which has been included with this distribution in the * license.txt file. * * The JForum Project * http://www.jforum.net */ package net.jforum.entities; import static org.junit.Assert.*; import static org.mockito.Mockito.*; import net.jforum.repository.ForumRepository; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; /** * @author Rafael Steil, Jonatan Cloutier */ @RunWith(MockitoJUnitRunner.class) public class ForumTestCase { @Mock private ForumRepository repository; @Test public void getTotalTopics() { final Forum forum = new Forum(repository); forum.getTotalTopics(); verify(repository).getTotalTopics(forum); } @Test public void getTopicsPendingModerationForumIsNotModeratedShouldReturnEmptyList() { Forum forum = new Forum(); forum.setModerated(false); assertEquals(0, forum.getTopicsPendingModeration().size()); } @Test public void getTopicsPendingModeration() { final Forum forum = new Forum(repository); forum.setModerated(true); forum.getTopicsPendingModeration(); verify(repository).getTopicsPendingModeration(forum); } @Test public void getTopics() { final Forum forum = new Forum(repository); forum.getTopics(0, 10); verify(repository).getTopics(forum, 0, 10); } @Test public void getTotalPosts() { final Forum forum = new Forum(repository); forum.getTotalPosts(); verify(repository).getTotalPosts(forum); } @Test public void getModeratorsForumIsNotModeratedExpectEmptyList() { Forum forum = new Forum(); forum.setModerated(false); assertEquals(0, forum.getModerators().size()); } @Test public void getModerators() { final Forum forum = new Forum(repository); forum.setModerated(true); forum.getModerators(); verify(repository).getModerators(forum); } @Test(expected = IllegalStateException.class) public void getModeratorsWithoutRepositoryExpectException() { Forum forum = new Forum(); forum.setModerated(true); forum.getModerators(); } @Test(expected = IllegalStateException.class) public void getTotalTopicsWithoutRepositoryExpectException() { new Forum().getTotalTopics(); } @Test(expected = IllegalStateException.class) public void getTotalPostsWithoutRepositoryExpectException() { new Forum().getTotalPosts(); } @Test(expected = IllegalStateException.class) public void getTopicsWithoutRepositoryExpectException() { new Forum().getTopics(0, 10); } @Test(expected = IllegalStateException.class) public void getTopicsPendingModerationWithoutRepositoryExpectException() { Forum forum = new Forum(); forum.setModerated(true); forum.getTopicsPendingModeration(); } }