@Test public void testGetKBFoldersAndKBArticlesWithMultipleKBArticleVersions() throws Exception { KBArticle kbArticle = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, RandomTestUtil.randomString()); KBArticle newKBArticle = updateKBArticle(kbArticle, RandomTestUtil.randomString()); List<Object> kbFolderAndKBArticles = KBFolderLocalServiceUtil.getKBFoldersAndKBArticles( _group.getGroupId(), KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, WorkflowConstants.STATUS_ANY, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBObjectsTitleComparator<>(false, true)); KBFolder currentKBFolder = (KBFolder) kbFolderAndKBArticles.get(0); KBArticle currentKBArticle1 = (KBArticle) kbFolderAndKBArticles.get(1); Assert.assertEquals(2, kbFolderAndKBArticles.size()); Assert.assertEquals(_kbFolder.getKbFolderId(), currentKBFolder.getKbFolderId()); Assert.assertEquals(newKBArticle.getKbArticleId(), currentKBArticle1.getKbArticleId()); }
@Test public void testGetKBFoldersAndKBArticlesOrderedByDescendingViewCount() throws Exception { KBArticle kbArticle1 = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, "A"); KBArticle kbArticle2 = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, "B"); KBArticle kbArticle3 = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, "C"); KBArticleLocalServiceUtil.updateViewCount( kbArticle2.getUserId(), kbArticle2.getResourcePrimKey(), kbArticle2.getViewCount() + 1000); List<Object> kbFolderAndKBArticles = KBFolderLocalServiceUtil.getKBFoldersAndKBArticles( _group.getGroupId(), KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, WorkflowConstants.STATUS_ANY, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBObjectsViewCountComparator(false)); KBFolder currentKBFolder = (KBFolder) kbFolderAndKBArticles.get(0); KBArticle currentKBArticle1 = (KBArticle) kbFolderAndKBArticles.get(2); KBArticle currentKBArticle2 = (KBArticle) kbFolderAndKBArticles.get(1); KBArticle currentKBArticle3 = (KBArticle) kbFolderAndKBArticles.get(3); Assert.assertEquals(_kbFolder.getKbFolderId(), currentKBFolder.getKbFolderId()); Assert.assertEquals(kbArticle1.getKbArticleId(), currentKBArticle1.getKbArticleId()); Assert.assertEquals(kbArticle2.getKbArticleId(), currentKBArticle2.getKbArticleId()); Assert.assertEquals(kbArticle3.getKbArticleId(), currentKBArticle3.getKbArticleId()); }
@Test public void testGetKBFoldersAndKBArticlesReturnKBFolderImmediateChildren() throws Exception { KBArticle parentKBArticle = addKBArticle(_kbFolder.getKbFolderId(), RandomTestUtil.randomString()); addChildKBArticle(parentKBArticle, RandomTestUtil.randomString()); KBFolder kbFolder = addKBFolder(_kbFolder.getKbFolderId()); List<Object> kbFolderAndKBArticles = KBFolderLocalServiceUtil.getKBFoldersAndKBArticles( _group.getGroupId(), _kbFolder.getKbFolderId(), WorkflowConstants.STATUS_APPROVED, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBObjectsTitleComparator<KBArticle>(true, true)); KBFolder currentKBFolder = (KBFolder) kbFolderAndKBArticles.get(0); KBArticle currentKBArticle1 = (KBArticle) kbFolderAndKBArticles.get(1); Assert.assertEquals(kbFolder.getKbFolderId(), currentKBFolder.getKbFolderId()); Assert.assertEquals(parentKBArticle.getKbArticleId(), currentKBArticle1.getKbArticleId()); Assert.assertEquals(2, kbFolderAndKBArticles.size()); }
@Test public void testGetKBFoldersAndKBArticlesOrderedByDescendingModifiedDate() throws Exception { Date date = new Date(); KBArticle kbArticle1 = addKBArticle( KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, new Date(date.getTime() + Time.SECOND)); KBArticle kbArticle2 = addKBArticle( KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, new Date(date.getTime() + Time.SECOND * 3)); KBArticle kbArticle3 = addKBArticle( KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, new Date(date.getTime() + Time.SECOND * 2)); List<Object> kbFolderAndKBArticles = KBFolderLocalServiceUtil.getKBFoldersAndKBArticles( _group.getGroupId(), KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, WorkflowConstants.STATUS_ANY, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBObjectsModifiedDateComparator(false, true)); KBFolder currentKBFolder = (KBFolder) kbFolderAndKBArticles.get(0); KBArticle currentKBArticle1 = (KBArticle) kbFolderAndKBArticles.get(3); KBArticle currentKBArticle2 = (KBArticle) kbFolderAndKBArticles.get(1); KBArticle currentKBArticle3 = (KBArticle) kbFolderAndKBArticles.get(2); Assert.assertEquals(_kbFolder.getKbFolderId(), currentKBFolder.getKbFolderId()); Assert.assertEquals(kbArticle1.getKbArticleId(), currentKBArticle1.getKbArticleId()); Assert.assertEquals(kbArticle2.getKbArticleId(), currentKBArticle2.getKbArticleId()); Assert.assertEquals(kbArticle3.getKbArticleId(), currentKBArticle3.getKbArticleId()); }
@Test public void testGetKBFoldersAndKBArticlesOrderedByAscendingTitle() throws Exception { KBArticle kbArticle1 = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, "A"); KBArticle kbArticle2 = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, "C"); KBArticle kbArticle3 = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, "B"); List<Object> kbFolderAndKBArticles = KBFolderLocalServiceUtil.getKBFoldersAndKBArticles( _group.getGroupId(), KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, WorkflowConstants.STATUS_ANY, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBObjectsTitleComparator(true, true)); KBFolder currentKBFolder = (KBFolder) kbFolderAndKBArticles.get(0); KBArticle currentKBArticle1 = (KBArticle) kbFolderAndKBArticles.get(1); KBArticle currentKBArticle2 = (KBArticle) kbFolderAndKBArticles.get(3); KBArticle currentKBArticle3 = (KBArticle) kbFolderAndKBArticles.get(2); Assert.assertEquals(_kbFolder.getKbFolderId(), currentKBFolder.getKbFolderId()); Assert.assertEquals(kbArticle1.getKbArticleId(), currentKBArticle1.getKbArticleId()); Assert.assertEquals(kbArticle2.getKbArticleId(), currentKBArticle2.getKbArticleId()); Assert.assertEquals(kbArticle3.getKbArticleId(), currentKBArticle3.getKbArticleId()); }
@Test public void testGetKBFoldersAndKBArticlesOrderedByAscendingPriority() throws Exception { KBArticle kbArticle1 = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, RandomTestUtil.randomString()); KBArticle kbArticle2 = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, RandomTestUtil.randomString()); KBArticle kbArticle3 = addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, RandomTestUtil.randomString()); KBArticleLocalServiceUtil.updatePriority(kbArticle2.getResourcePrimKey(), 10.0); List<Object> kbFolderAndKBArticles = KBFolderLocalServiceUtil.getKBFoldersAndKBArticles( _group.getGroupId(), KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, WorkflowConstants.STATUS_ANY, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBObjectsPriorityComparator(true)); KBFolder currentKBFolder = (KBFolder) kbFolderAndKBArticles.get(0); KBArticle currentKBArticle1 = (KBArticle) kbFolderAndKBArticles.get(1); KBArticle currentKBArticle2 = (KBArticle) kbFolderAndKBArticles.get(3); KBArticle currentKBArticle3 = (KBArticle) kbFolderAndKBArticles.get(2); Assert.assertEquals(_kbFolder.getKbFolderId(), currentKBFolder.getKbFolderId()); Assert.assertEquals(kbArticle1.getKbArticleId(), currentKBArticle1.getKbArticleId()); Assert.assertEquals(kbArticle2.getKbArticleId(), currentKBArticle2.getKbArticleId()); Assert.assertEquals(kbArticle3.getKbArticleId(), currentKBArticle3.getKbArticleId()); }
@Test public void testGetKBFoldersAndKBArticlesInRootKBFolderByDraftStatus() throws Exception { addKBArticle(KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, RandomTestUtil.randomString()); List<Object> kbFolderAndKBArticles = KBFolderLocalServiceUtil.getKBFoldersAndKBArticles( _group.getGroupId(), KBFolderConstants.DEFAULT_PARENT_FOLDER_ID, WorkflowConstants.STATUS_DRAFT, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBObjectsTitleComparator<>(false, true)); KBFolder currentKBFolder = (KBFolder) kbFolderAndKBArticles.get(0); Assert.assertEquals(1, kbFolderAndKBArticles.size()); Assert.assertEquals(_kbFolder.getKbFolderId(), currentKBFolder.getKbFolderId()); }
@Test public void testGetKBFoldersAndKBArticlesInKBFolder() throws Exception { KBArticle kbArticle1 = addKBArticle(_kbFolder.getKbFolderId(), "A"); KBArticle kbArticle2 = addKBArticle(_kbFolder.getKbFolderId(), "B"); KBFolder kbFolder = addKBFolder(_kbFolder.getKbFolderId()); List<Object> kbFolderAndKBArticles = KBFolderLocalServiceUtil.getKBFoldersAndKBArticles( _group.getGroupId(), _kbFolder.getKbFolderId(), WorkflowConstants.STATUS_APPROVED, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBObjectsTitleComparator<KBArticle>(true, true)); KBFolder currentKBFolder = (KBFolder) kbFolderAndKBArticles.get(0); KBArticle currentKBArticle1 = (KBArticle) kbFolderAndKBArticles.get(1); KBArticle currentKBArticle2 = (KBArticle) kbFolderAndKBArticles.get(2); Assert.assertEquals(kbFolder.getKbFolderId(), currentKBFolder.getKbFolderId()); Assert.assertEquals(kbArticle1.getKbArticleId(), currentKBArticle1.getKbArticleId()); Assert.assertEquals(kbArticle2.getKbArticleId(), currentKBArticle2.getKbArticleId()); }