1
1
from datetime import datetime
2
- from labelbox .schema .search_filters import DateOperator , DateRange , DateRangeOperator , DateRangeValue , DateValue , IdOperator , OperationType , OrganizationFilter , ProjectStageFilter , TagFilter , WorkforceRequestedDateFilter , WorkforceRequestedDateRangeFilter , WorkforceStageUpdatedFilter , WorkforceStageUpdatedRangeFilter , WorkspaceFilter , build_search_filter
2
+ from labelbox .schema .search_filters import IntegerValue , RangeOperatorWithSingleValue , DateRange , RangeOperatorWithValue , DateRangeValue , DateValue , IdOperator , OperationType , OrganizationFilter , ProjectStageFilter , TagFilter , TaskCompletedCountFilter , TaskRemainingCountFilter , WorkforceRequestedDateFilter , WorkforceRequestedDateRangeFilter , WorkforceStageUpdatedFilter , WorkforceStageUpdatedRangeFilter , WorkspaceFilter , build_search_filter
3
3
from labelbox .utils import format_iso_datetime
4
4
5
5
@@ -31,12 +31,14 @@ def test_date_filters():
31
31
filters = [
32
32
WorkforceRequestedDateFilter (
33
33
operation = OperationType .WorforceRequestedDate ,
34
- value = DateValue (operator = DateOperator .GreaterThanOrEqual ,
35
- value = local_time_start )),
34
+ value = DateValue (
35
+ operator = RangeOperatorWithSingleValue .GreaterThanOrEqual ,
36
+ value = local_time_start )),
36
37
WorkforceStageUpdatedFilter (
37
38
operation = OperationType .WorkforceStageUpdatedDate ,
38
- value = DateValue (operator = DateOperator .LessThanOrEqual ,
39
- value = local_time_end )),
39
+ value = DateValue (
40
+ operator = RangeOperatorWithSingleValue .LessThanOrEqual ,
41
+ value = local_time_end )),
40
42
]
41
43
expected_start = format_iso_datetime (local_time_start )
42
44
expected_end = format_iso_datetime (local_time_end )
@@ -49,7 +51,7 @@ def test_date_range_filters():
49
51
filters = [
50
52
WorkforceRequestedDateRangeFilter (
51
53
operation = OperationType .WorforceRequestedDate ,
52
- value = DateRangeValue (operator = DateRangeOperator .Between ,
54
+ value = DateRangeValue (operator = RangeOperatorWithValue .Between ,
53
55
value = DateRange (min = datetime .strptime (
54
56
"2024-01-01T00:00:00-0800" ,
55
57
"%Y-%m-%dT%H:%M:%S%z" ),
@@ -58,7 +60,7 @@ def test_date_range_filters():
58
60
"%Y-%m-%dT%H:%M:%S%z" )))),
59
61
WorkforceStageUpdatedRangeFilter (
60
62
operation = OperationType .WorkforceStageUpdatedDate ,
61
- value = DateRangeValue (operator = DateRangeOperator .Between ,
63
+ value = DateRangeValue (operator = RangeOperatorWithValue .Between ,
62
64
value = DateRange (min = datetime .strptime (
63
65
"2024-01-01T00:00:00-0800" ,
64
66
"%Y-%m-%dT%H:%M:%S%z" ),
@@ -69,3 +71,21 @@ def test_date_range_filters():
69
71
assert build_search_filter (
70
72
filters
71
73
) == '[{value: {operator: "BETWEEN", value: {min: "2024-01-01T08:00:00Z", max: "2025-01-01T08:00:00Z"}}, type: "workforce_requested_at"}, {value: {operator: "BETWEEN", value: {min: "2024-01-01T08:00:00Z", max: "2025-01-01T08:00:00Z"}}, type: "workforce_stage_updated_at"}]'
74
+
75
+
76
+ def test_task_count_filters ():
77
+ filters = [
78
+ TaskCompletedCountFilter (
79
+ operation = OperationType .TaskCompletedCount ,
80
+ value = IntegerValue (
81
+ operator = RangeOperatorWithSingleValue .GreaterThanOrEqual ,
82
+ value = 1 )),
83
+ TaskRemainingCountFilter (
84
+ operation = OperationType .TaskRemainingCount ,
85
+ value = IntegerValue (
86
+ operator = RangeOperatorWithSingleValue .LessThanOrEqual ,
87
+ value = 10 )),
88
+ ]
89
+
90
+ expected = '[{value: {operator: "GREATER_THAN_OR_EQUAL", value: 1}, type: "task_completed_count"}, {value: {operator: "LESS_THAN_OR_EQUAL", value: 10}, type: "task_remaining_count"}]'
91
+ assert build_search_filter (filters ) == expected
0 commit comments