Search in sources :

Example 1 with ArticleRepository

use of org.b3log.solo.repository.ArticleRepository in project solo by b3log.

the class ArticleRepositoryImplTestCase method isPublished.

/**
     * Is Published.
     * 
     * @throws Exception exception
     */
@Test(dependsOnMethods = { "add", "getMostViewCountArticles" })
public void isPublished() throws Exception {
    final ArticleRepository articleRepository = getArticleRepository();
    final JSONArray all = articleRepository.get(new Query()).getJSONArray(Keys.RESULTS);
    Assert.assertNotNull(all);
    final JSONObject article = all.getJSONObject(0);
    Assert.assertTrue(articleRepository.isPublished(article.getString(Keys.OBJECT_ID)));
    final JSONObject notPublished = articleRepository.getByPermalink("article permalink4");
    Assert.assertNotNull(notPublished);
    Assert.assertFalse(notPublished.getBoolean(Article.ARTICLE_IS_PUBLISHED));
    Assert.assertFalse(articleRepository.isPublished("not found"));
}
Also used : Query(org.b3log.latke.repository.Query) JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray) ArticleRepository(org.b3log.solo.repository.ArticleRepository) Test(org.testng.annotations.Test)

Example 2 with ArticleRepository

use of org.b3log.solo.repository.ArticleRepository in project solo by b3log.

the class ArticleRepositoryImplTestCase method getMostCommentArticles.

/**
     * Get Most Comment Articles.
     * 
     * @throws Exception exception
     */
@Test(dependsOnMethods = { "add", "previousAndNext" })
public void getMostCommentArticles() throws Exception {
    final ArticleRepository articleRepository = getArticleRepository();
    final JSONObject article = new JSONObject();
    article.put(Article.ARTICLE_TITLE, "article title3");
    article.put(Article.ARTICLE_ABSTRACT, "article abstract");
    article.put(Article.ARTICLE_TAGS_REF, "tag1, tag2");
    article.put(Article.ARTICLE_AUTHOR_EMAIL, "test@gmail.com");
    article.put(Article.ARTICLE_COMMENT_COUNT, 2);
    article.put(Article.ARTICLE_VIEW_COUNT, 2);
    article.put(Article.ARTICLE_CONTENT, "article content");
    article.put(Article.ARTICLE_PERMALINK, "article permalink3");
    article.put(Article.ARTICLE_HAD_BEEN_PUBLISHED, true);
    article.put(Article.ARTICLE_IS_PUBLISHED, true);
    article.put(Article.ARTICLE_PUT_TOP, false);
    article.put(Article.ARTICLE_CREATE_DATE, new Date());
    article.put(Article.ARTICLE_UPDATE_DATE, new Date());
    article.put(Article.ARTICLE_RANDOM_DOUBLE, Math.random());
    article.put(Article.ARTICLE_SIGN_ID, "1");
    article.put(Article.ARTICLE_COMMENTABLE, true);
    article.put(Article.ARTICLE_VIEW_PWD, "");
    article.put(Article.ARTICLE_EDITOR_TYPE, "");
    final Transaction transaction = articleRepository.beginTransaction();
    articleRepository.add(article);
    transaction.commit();
    List<JSONObject> mostCommentArticles = articleRepository.getMostCommentArticles(2);
    Assert.assertNotNull(mostCommentArticles);
    Assert.assertEquals(mostCommentArticles.size(), 2);
    Assert.assertEquals(mostCommentArticles.get(0).getInt(Article.ARTICLE_COMMENT_COUNT), 2);
    Assert.assertEquals(mostCommentArticles.get(1).getInt(Article.ARTICLE_COMMENT_COUNT), 1);
    mostCommentArticles = articleRepository.getMostCommentArticles(1);
    Assert.assertNotNull(mostCommentArticles);
    Assert.assertEquals(mostCommentArticles.size(), 1);
    Assert.assertEquals(mostCommentArticles.get(0).getInt(Article.ARTICLE_COMMENT_COUNT), 2);
}
Also used : JSONObject(org.json.JSONObject) Transaction(org.b3log.latke.repository.Transaction) ArticleRepository(org.b3log.solo.repository.ArticleRepository) Date(java.util.Date) Test(org.testng.annotations.Test)

Example 3 with ArticleRepository

use of org.b3log.solo.repository.ArticleRepository in project solo by b3log.

the class ArticleRepositoryImplTestCase method getRecentArticles.

/**
     * Get Recent Articles.
     * 
     * @throws Exception exception
     */
@Test(dependsOnMethods = { "add", "previousAndNext", "getMostCommentArticles", "getMostViewCountArticles" })
public void getRecentArticles() throws Exception {
    final ArticleRepository articleRepository = getArticleRepository();
    Assert.assertEquals(articleRepository.count(), 4);
    List<JSONObject> recentArticles = articleRepository.getRecentArticles(3);
    Assert.assertNotNull(recentArticles);
    Assert.assertEquals(recentArticles.size(), 3);
    Assert.assertEquals(recentArticles.get(0).getString(Article.ARTICLE_TITLE), "article title3");
    Assert.assertEquals(recentArticles.get(1).getString(Article.ARTICLE_TITLE), "article title2");
    Assert.assertEquals(recentArticles.get(2).getString(Article.ARTICLE_TITLE), "article title1");
}
Also used : JSONObject(org.json.JSONObject) ArticleRepository(org.b3log.solo.repository.ArticleRepository) Test(org.testng.annotations.Test)

Example 4 with ArticleRepository

use of org.b3log.solo.repository.ArticleRepository in project solo by b3log.

the class ArticleRepositoryImplTestCase method getByPermalink.

/**
     * Get by permalink.
     * 
     * @throws Exception exception
     */
@Test(dependsOnMethods = "add")
public void getByPermalink() throws Exception {
    final ArticleRepository articleRepository = getArticleRepository();
    final JSONObject article = articleRepository.getByPermalink("article permalink1");
    Assert.assertNotNull(article);
    Assert.assertEquals(article.getString(Article.ARTICLE_TITLE), "article title1");
    Assert.assertNull(articleRepository.getByPermalink("not found"));
}
Also used : JSONObject(org.json.JSONObject) ArticleRepository(org.b3log.solo.repository.ArticleRepository) Test(org.testng.annotations.Test)

Example 5 with ArticleRepository

use of org.b3log.solo.repository.ArticleRepository in project solo by b3log.

the class ArticleRepositoryImplTestCase method previousAndNext.

/**
     * Get by permalink.
     * 
     * @throws Exception exception
     */
@Test(dependsOnMethods = { "add" })
public void previousAndNext() throws Exception {
    final ArticleRepository articleRepository = getArticleRepository();
    final JSONObject article = new JSONObject();
    article.put(Article.ARTICLE_TITLE, "article title2");
    article.put(Article.ARTICLE_ABSTRACT, "article abstract");
    article.put(Article.ARTICLE_TAGS_REF, "tag1, tag2");
    article.put(Article.ARTICLE_AUTHOR_EMAIL, "test@gmail.com");
    article.put(Article.ARTICLE_COMMENT_COUNT, 1);
    article.put(Article.ARTICLE_VIEW_COUNT, 1);
    article.put(Article.ARTICLE_CONTENT, "article content");
    article.put(Article.ARTICLE_PERMALINK, "article permalink2");
    article.put(Article.ARTICLE_HAD_BEEN_PUBLISHED, true);
    article.put(Article.ARTICLE_IS_PUBLISHED, true);
    article.put(Article.ARTICLE_PUT_TOP, false);
    article.put(Article.ARTICLE_CREATE_DATE, new Date());
    article.put(Article.ARTICLE_UPDATE_DATE, new Date());
    article.put(Article.ARTICLE_RANDOM_DOUBLE, Math.random());
    article.put(Article.ARTICLE_SIGN_ID, "1");
    article.put(Article.ARTICLE_COMMENTABLE, true);
    article.put(Article.ARTICLE_VIEW_PWD, "");
    article.put(Article.ARTICLE_EDITOR_TYPE, "");
    final Transaction transaction = articleRepository.beginTransaction();
    articleRepository.add(article);
    transaction.commit();
    Assert.assertEquals(articleRepository.count(), 2);
    JSONObject previousArticle = articleRepository.getPreviousArticle(article.getString(Keys.OBJECT_ID));
    Assert.assertNotNull(previousArticle);
    Assert.assertEquals(previousArticle.getString(Article.ARTICLE_TITLE), "article title1");
    Assert.assertEquals(previousArticle.getString(Article.ARTICLE_PERMALINK), "article permalink1");
    Assert.assertNull(previousArticle.opt(Keys.OBJECT_ID));
    previousArticle = articleRepository.getByPermalink(previousArticle.getString(Article.ARTICLE_PERMALINK));
    final JSONObject nextArticle = articleRepository.getNextArticle(previousArticle.getString(Keys.OBJECT_ID));
    Assert.assertNotNull(previousArticle);
    Assert.assertEquals(nextArticle.getString(Article.ARTICLE_TITLE), "article title2");
}
Also used : JSONObject(org.json.JSONObject) Transaction(org.b3log.latke.repository.Transaction) ArticleRepository(org.b3log.solo.repository.ArticleRepository) Date(java.util.Date) Test(org.testng.annotations.Test)

Aggregations

ArticleRepository (org.b3log.solo.repository.ArticleRepository)9 JSONObject (org.json.JSONObject)9 Test (org.testng.annotations.Test)8 Date (java.util.Date)4 Transaction (org.b3log.latke.repository.Transaction)4 JSONArray (org.json.JSONArray)2 IOException (java.io.IOException)1 ServletException (javax.servlet.ServletException)1 HttpServletRequest (javax.servlet.http.HttpServletRequest)1 HttpServletResponse (javax.servlet.http.HttpServletResponse)1 LatkeBeanManager (org.b3log.latke.ioc.LatkeBeanManager)1 Query (org.b3log.latke.repository.Query)1 RepositoryException (org.b3log.latke.repository.RepositoryException)1 PageRepository (org.b3log.solo.repository.PageRepository)1 ArticleQueryService (org.b3log.solo.service.ArticleQueryService)1