예제 #1
0
    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)
예제 #2
0
 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)"])
예제 #3
0
    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"])
예제 #4
0
    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"])
예제 #5
0
    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,
        )
예제 #6
0
    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"])
예제 #7
0
 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
예제 #8
0
 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)
예제 #9
0
 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)
예제 #10
0
 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)