Coverage for ckanext/udc/tests/test_helpers.py: 100%
9 statements
« prev ^ index » next coverage.py v7.7.1, created at 2026-01-19 23:48 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2026-01-19 23:48 +0000
1from ckanext.udc import helpers as udc_helpers
4def test_process_facets_fields_normalizes_keys_and_logic():
5 facets_fields = {
6 "extras_theme": {"values": ["Health"]},
7 "tags_ngram": {"values": ["data"], "fts": True},
8 "filter-logic-extras_theme": ["and"],
9 "file_size": {"min": "5", "max": "10"},
10 }
12 expected = {
13 "theme": {
14 "logic": "and",
15 "values": [
16 {"ori_field": "extras_theme", "ori_value": "Health", "value": "Health"}
17 ],
18 },
19 "tags": {
20 "logic": "or",
21 "values": [
22 {
23 "ori_field": "tags_ngram",
24 "ori_value": "data",
25 "value": 'Search for "data"',
26 }
27 ],
28 },
29 "file_size": {
30 "logic": "or",
31 "values": [
32 {"ori_field": "min_file_size", "ori_value": "5", "value": "From: 5"},
33 {"ori_field": "max_file_size", "ori_value": "10", "value": "To: 10"},
34 ],
35 },
36 }
38 assert udc_helpers.process_facets_fields(facets_fields) == expected
41def test_get_maturity_percentages_counts_core_and_custom_fields():
42 config = [
43 {
44 "fields": [
45 {"ckanField": "title"},
46 {"ckanField": "description"},
47 {"ckanField": "organization_and_visibility"},
48 {"name": "custom_extra", "label": "Custom"},
49 ]
50 }
51 ]
52 pkg_dict = {
53 "title": "Dataset",
54 "notes": "Description lives in notes",
55 "custom_extra": "value",
56 }
58 assert udc_helpers.get_maturity_percentages(config, pkg_dict) == ["100%"]