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

1from ckanext.udc import helpers as udc_helpers 

2 

3 

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 } 

11 

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 } 

37 

38 assert udc_helpers.process_facets_fields(facets_fields) == expected 

39 

40 

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 } 

57 

58 assert udc_helpers.get_maturity_percentages(config, pkg_dict) == ["100%"]