def test_child_taxons_multiple_levels(self): helpers.content_store_has_item('/taxons/root_taxon', helpers.multi_level_child_taxons) taxons = taxonomy_query.TaxonomyQuery().child_taxons('/taxons/root_taxon') expected = [{'content_id': 'aaaa', 'base_path': '/root_taxon/taxon_a', 'parent_content_id': 'rrrr'}, {'content_id': 'aaaa_1111', 'base_path': '/root_taxon/taxon_1', 'parent_content_id': 'aaaa'}, {'content_id': 'aaaa_2222', 'base_path': '/root_taxon/taxon_2', 'parent_content_id': 'aaaa'}] self.assertCountEqual(taxons, expected)
def __taxonomy(): query = taxonomy_query.TaxonomyQuery() level_one_taxons = query.level_one_taxons() children = [ taxon for level_one_taxon in level_one_taxons for taxon in query.child_taxons(level_one_taxon['base_path']) ] return iter(level_one_taxons + children)
def test_level_one_taxons(self): helpers.content_store_has_item("/", json={"links": {"level_one_taxons": [{"a": 1, "b": 2}, {"a": 3, "b": 4}]}}) self.assertCountEqual(taxonomy_query.TaxonomyQuery(["a"]).level_one_taxons(), [{"a": 1}, {"a": 3}])
def __connected(self, dict): return taxonomy_query.TaxonomyQuery().taxon_linked_to_root(dict)
def test_child_taxons_single_level(self): helpers.content_store_has_item('/taxons/root_taxon', helpers.single_level_child_taxons('rrrr', 'aaaa', 'bbbb')) taxons = taxonomy_query.TaxonomyQuery().child_taxons('/taxons/root_taxon') expected = [{'content_id': 'aaaa', 'base_path': '/taxons/aaaa', 'parent_content_id': 'rrrr'}, {'content_id': 'bbbb', 'base_path': '/taxons/bbbb', 'parent_content_id': 'rrrr'}] self.assertCountEqual(taxons, expected)
def test_child_taxons_empty_array(self): helpers.content_store_has_item('/taxons/root_taxon', helpers.content_without_taxons) self.assertListEqual(taxonomy_query.TaxonomyQuery().child_taxons('/taxons/root_taxon'), [])