@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(expected = NoSuchFolderException.class) public void testMoveKBFolderToParentKBArticle() throws Exception { KBFolder kbFolder = addKBFolder(_kbFolder.getKbFolderId()); KBArticle kbArticle = addKBArticle(_kbFolder.getKbFolderId(), RandomTestUtil.randomString()); KBFolderLocalServiceUtil.moveKBFolder(kbFolder.getKbFolderId(), kbArticle.getResourcePrimKey()); }
@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()); }
protected KBArticle updateKBArticle(KBArticle kbArticle, String title) throws Exception { ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(_group, _user.getUserId()); return KBArticleLocalServiceUtil.updateKBArticle( kbArticle.getUserId(), kbArticle.getResourcePrimKey(), title, kbArticle.getContent(), kbArticle.getDescription(), kbArticle.getSourceURL(), null, new String[0], new long[0], serviceContext); }
@Test public void testGetKBFoldersAndKBArticlesCountKBArticleImmediateChildren() throws Exception { KBArticle parentKBArticle = addKBArticle(_kbFolder.getKbFolderId(), RandomTestUtil.randomString()); addChildKBArticle(parentKBArticle, RandomTestUtil.randomString()); addChildKBArticle(parentKBArticle, RandomTestUtil.randomString()); addKBFolder(_kbFolder.getKbFolderId()); Assert.assertEquals( 2, KBFolderLocalServiceUtil.getKBFoldersAndKBArticlesCount( _group.getGroupId(), parentKBArticle.getResourcePrimKey(), WorkflowConstants.STATUS_ANY)); }
protected KBArticle addChildKBArticle(KBArticle kbArticle, String title) throws Exception { ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(_group, _user.getUserId()); return KBArticleLocalServiceUtil.addKBArticle( _user.getUserId(), PortalUtil.getClassNameId(KBArticleConstants.getClassName()), kbArticle.getResourcePrimKey(), title, title, RandomTestUtil.randomString(), RandomTestUtil.randomString(), null, new String[0], new String[0], serviceContext); }
@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()); }
@Override public int compare(KBArticle kbArticle1, KBArticle kbArticle2) { int value = 0; if (kbArticle1.getStatus() < kbArticle2.getStatus()) { value = -1; } else if (kbArticle1.getStatus() > kbArticle2.getStatus()) { value = 1; } else { String title1 = kbArticle1.getTitle(); String title2 = kbArticle2.getTitle(); value = title1.compareToIgnoreCase(title2); } if (_ascending) { return value; } else { return -value; } }
@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 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()); }