def test_folder_mixed_case_accented_searches(self): self._create_folder("folder1", u"Tâche", self.folders) self._create_folder("folder2", u"Tache", self.folders) self._create_folder("folder3", u"tâche", self.folders) self._create_folder("folder4", u"tache", self.folders) source = ClassificationFolderSource(self.portal) for terms in (u"Tâche", u"Tache", u"tâche", u"tache"): titles = [term.title for term in source.search(terms)] self.assertEqual(len(titles), 4)
def test_voc_with_reference(self): source = ClassificationFolderSource(self.portal) self.folder1.internal_reference_no = 'Pastaga' notify(ObjectModifiedEvent(self.folder1)) terms = [(term.value, term.title) for term in source] self.assertEqual([(self.folder1_uid, u"Folder 1 (Pastaga)"), (self.folder2_uid, u"Folder 2")], terms) source = ClassificationFolderSource(self.portal) titles = [term.title for term in source.search("Fold pasta")] self.assertEqual(titles, [u"Folder 1 (Pastaga)"])
def test_subfolder_inherits_parent_categories(self): cat = self.category_uids["001"] self.folder1 = self._create_folder("folder1", u"Folder 1", self.folders, categories=[cat]) self.folder1_1 = self._create_subfolder("folder1-1", u"Folder 1-1", self.folder1) self.folder2 = self._create_folder("folder2", u"Folder 2", self.folders) source = ClassificationFolderSource(self.portal) titles = [ term.title for term in source.search("Folder", categories_filter=[cat]) ] self.assertEqual(titles, [u"Folder 1", u"Folder 1 ⏩ Folder 1-1"])
def test_folder_matches_category_titles(self): cat_used = self.category_uids["001"] cat_not_used = self.category_uids["002"] self.folder1 = self._create_folder( "folder1", u"Folder 1", self.folders, categories=[self.category_uids["001"]]) self.folder1_1 = self._create_subfolder("folder1-1", u"Folder 1-1", self.folder1) self.folder2 = self._create_folder("folder2", u"Folder 2", self.folders) source = ClassificationFolderSource(self.portal) titles = [term.title for term in source.search("Folder")] self.assertEqual(titles, [u"Folder 1", u"Folder 1 ⏩ Folder 1-1", u"Folder 2"]) titles = [term.title for term in source.search("Folder First")] self.assertEqual(titles, [u"Folder 1", u"Folder 1 ⏩ Folder 1-1"])
def test_available_folders_inheritance(self): self.subfolder = api.content.create( container=self.folder1, type="ClassificationSubfolder", id="subfolder1", title="Subfolder 1", recipient_groups=[], ) self.subfolder_uid = api.content.get_uuid(self.subfolder) login(self.portal, "user1") source = ClassificationFolderSource(self.portal) terms = [(term.value, term.title) for term in source] self.assertEqual( [ (self.folder1_uid, u"Folder 1"), # (self.subfolder_uid, u"Folder 1 / Subfolder 1"), ], terms, )
def test_folder_without_categories(self): self.folder1 = self._create_folder("folder1", u"Folder 1", self.folders) self.folder1_1 = self._create_subfolder("folder1-1", u"Folder 1-1 child", self.folder1) self.folder2 = self._create_folder("folder2", u"Folder 2", self.folders) source = ClassificationFolderSource(self.portal) titles = [term.title for term in source.search("Folder")] self.assertEqual( titles, [u"Folder 1", u"Folder 1 ⏩ Folder 1-1 child", u"Folder 2"]) titles = [term.title for term in source.search("Folder 1")] self.assertEqual(titles, [u"Folder 1", u"Folder 1 ⏩ Folder 1-1 child"]) titles = [term.title for term in source.search("Folder 2")] self.assertEqual(titles, ["Folder 2"]) titles = [term.title for term in source.search("Folder child")] self.assertEqual(titles, [u"Folder 1 ⏩ Folder 1-1 child"])
def _cached_vocab_instance(self): if not hasattr(self, "_cached_vocab_instance_value"): vocabulary = ClassificationFolderSource(self.context).vocabulary self._cached_vocab_instance_value = vocabulary return self._cached_vocab_instance_value
def test_available_folders_as_groupmember(self): login(self.portal, "user1") source = ClassificationFolderSource(self.portal) terms = [(term.value, term.title) for term in source] self.assertEqual([(self.folder1_uid, u"Folder 1")], terms)
def test_available_folders_as_manager(self): source = ClassificationFolderSource(self.portal) terms = [(term.value, term.title) for term in source] self.assertEqual([(self.folder1_uid, u"Folder 1"), (self.folder2_uid, u"Folder 2")], terms)
def test_available_folders_as_lambda(self): login(self.portal, "user2") source = ClassificationFolderSource(self.portal) terms = [(term.value, term.title) for term in source] self.assertEqual([], terms)