Coverage for tests/tests_unit/cases_test_data_grabber.py: 58%

43 statements  

« prev     ^ index     » next       coverage.py v7.6.2, created at 2024-10-10 03:02 +0300

1import json 

2 

3from sotrans_models.models.orders.order import OrderDBModel 

4 

5 

6class GetEntitiesList: 

7 def case_empty(self): 

8 return {} 

9 

10 def case_limit(self): 

11 return {"limit": 2**32} 

12 

13 def case_where(self): 

14 return {"where": json.dumps({})} 

15 

16 def case_projection(self): 

17 return {"projection": json.dumps({"_x": 1})} 

18 

19 def case_empty_sort(self): 

20 return {"sort": str([])} 

21 

22 def case_multi_sort(self): 

23 return {"sort": str([("x", 1), ("y", -1)])} 

24 

25 

26class GetEntity: 

27 def case_empty(self): 

28 return {} 

29 

30 def case_projection(self): 

31 return {"projection": json.dumps({})} 

32 

33 

34class ParseSortRaise: 

35 def case_empty_param(self): 

36 return str([()]) 

37 

38 def case_wrong_type_param(self): 

39 return str([-1]) 

40 

41 

42class GetRaises: 

43 def case_json_where(self): 

44 return {"where": '{2":1}'} 

45 

46 def case_json_projection(self): 

47 return {"projection": "{[]}"} 

48 

49 

50class AdjustSearchQueryCases: 

51 def case_none(self): 

52 return None, "x", None, {} 

53 

54 def case_empty(self): 

55 return {}, "x", {}, {"x": {"$in": []}} 

56 

57 def case_list_and_value(self): 

58 return {"x": {"$in": [2, 3, 4]}}, "x", {4}, {"x": {"$in": [4]}} 

59 

60 def case_list_and_set(self): 

61 return {"x": {"$in": [2, 3]}}, "x", {3, 4}, {"x": {"$in": [3]}} 

62 

63 def case_multiple_key_search(self): 

64 return ( 

65 {"x": {"$in": [2, 3]}, "y": "z"}, 

66 "x", 

67 {3}, 

68 {"x": {"$in": [3]}, "y": "z"}, 

69 ) 

70 

71 def case_mongo_path_field_adjust(self): 

72 return {"id": 2}, OrderDBModel.id, {2}, {"id": 2}