1
+ from datetime import date , datetime
1
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
3
3
4
@@ -17,80 +18,42 @@ def test_id_filters():
17
18
values = ["requested" ]),
18
19
]
19
20
20
- assert build_search_filter (filters ) == [{
21
- "operator" : "is" ,
22
- "values" : ["clphb4vd7000cd2wv1ktu5cwa" ],
23
- "type" : "organization"
24
- }, {
25
- "operator" : "is" ,
26
- "values" : ["clphb4vd7000cd2wv1ktu5cwa" ],
27
- "type" : "workspace"
28
- }, {
29
- "operator" : "is" ,
30
- "values" : ["tag" ],
31
- "type" : "tag"
32
- }, {
33
- "operator" : "is" ,
34
- "values" : ["requested" ],
35
- "type" : "stage"
36
- }]
21
+ assert build_search_filter (
22
+ filters
23
+ ) == '[{operator: "is", values: ["clphb4vd7000cd2wv1ktu5cwa"], type: "organization"}, {operator: "is", values: ["clphb4vd7000cd2wv1ktu5cwa"], type: "workspace"}, {operator: "is", values: ["tag"], type: "tag"}, {operator: "is", values: ["requested"], type: "stage"}]'
37
24
38
25
39
26
def test_date_filters ():
40
27
filters = [
41
28
WorkforceRequestedDateFilter (
42
29
operation = OperationType .WorforceRequestedDate ,
43
30
value = DateValue (operator = DateOperator .GreaterThanOrEqual ,
44
- value = "2024-01-01" )),
31
+ value = datetime . strptime ( "2024-01-01" , "%Y-%m-%d" ) )),
45
32
WorkforceStageUpdatedFilter (
46
33
operation = OperationType .WorkforceStageUpdatedDate ,
47
34
value = DateValue (operator = DateOperator .LessThanOrEqual ,
48
- value = "2025-01-01" )),
35
+ value = datetime . strptime ( "2025-01-01" , "%Y-%m-%d" ) )),
49
36
]
50
- assert build_search_filter (filters ) == [{
51
- "type" : "workforce_requested_at" ,
52
- "value" : {
53
- "operator" : "GREATER_THAN_OR_EQUAL" ,
54
- "value" : "2024-01-01" ,
55
- }
56
- }, {
57
- "type" : "workforce_stage_updated_at" ,
58
- "value" : {
59
- "operator" : "LESS_THAN_OR_EQUAL" ,
60
- "value" : "2025-01-01" ,
61
- }
62
- }]
37
+ assert build_search_filter (
38
+ filters
39
+ ) == '[{value: {operator: "GREATER_THAN_OR_EQUAL", value: "2024-01-01T08:00:00Z"}, type: "workforce_requested_at"}, {value: {operator: "LESS_THAN_OR_EQUAL", value: "2025-01-01T08:00:00Z"}, type: "workforce_stage_updated_at"}]'
63
40
64
41
65
42
def test_date_range_filters ():
66
43
filters = [
67
44
WorkforceRequestedDateRangeFilter (
68
45
operation = OperationType .WorforceRequestedDate ,
69
- value = DateRangeValue (operator = DateRangeOperator .Between ,
70
- value = DateRange (min = "2024-01-01" ,
71
- max = "2025-01-01" ))),
46
+ value = DateRangeValue (
47
+ operator = DateRangeOperator .Between ,
48
+ value = DateRange (min = datetime .strptime ("2024-01-01" , "%Y-%m-%d" ),
49
+ max = datetime .strptime ("2025-01-01" ,
50
+ "%Y-%m-%d" )))),
72
51
WorkforceStageUpdatedRangeFilter (
73
52
operation = OperationType .WorkforceStageUpdatedDate ,
74
53
value = DateRangeValue (operator = DateRangeOperator .Between ,
75
- value = DateRange (min = "2024-01-01 " ,
76
- max = "2025-01-01 " )))
54
+ value = DateRange (min = "2024-01-01T08:00:00Z " ,
55
+ max = "2025-01-01T08:00:00Z " )))
77
56
]
78
- assert build_search_filter (filters ) == [{
79
- "value" : {
80
- "operator" : "BETWEEN" ,
81
- "value" : {
82
- "min" : "2024-01-01" ,
83
- "max" : "2025-01-01"
84
- }
85
- },
86
- "type" : "workforce_requested_at"
87
- }, {
88
- "value" : {
89
- "operator" : "BETWEEN" ,
90
- "value" : {
91
- "min" : "2024-01-01" ,
92
- "max" : "2025-01-01"
93
- }
94
- },
95
- "type" : "workforce_stage_updated_at"
96
- }]
57
+ assert build_search_filter (
58
+ filters
59
+ ) == '[{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"}]'
0 commit comments