@@ -55,3 +55,47 @@ def test_build_with_add_sql_date_range_condition():
5555 assert remove_white_spaces (query ) == remove_white_spaces (expected_query )
5656 assert len (time_entry_query_builder .where_conditions ) == 1
5757 assert len (time_entry_query_builder .get_parameters ()) == 2
58+
59+
60+ def test_add_sql_interception_with_date_range_condition ():
61+ start_date = "2021-03-19T05:07:00.000Z"
62+ end_date = "2021-03-25T10:00:00.000Z"
63+
64+ time_entry_query_builder = (
65+ TimeEntryQueryBuilder ().add_sql_interception_with_date_range_condition (
66+ start_date , end_date
67+ )
68+ )
69+
70+ expected_params = [
71+ {"name" : "@start_date" , "value" : start_date },
72+ {"name" : "@end_date" , "value" : end_date },
73+ ]
74+
75+ assert len (time_entry_query_builder .where_conditions ) == 1
76+ assert len (time_entry_query_builder .parameters ) == len (expected_params )
77+ assert time_entry_query_builder .parameters == expected_params
78+
79+
80+ def test_build_with_add_sql_interception_with_date_range_condition ():
81+ start_date = "2021-03-19T05:07:00.000Z"
82+ end_date = "2021-03-25T10:00:00.000Z"
83+ time_entry_query_builder = (
84+ TimeEntryQueryBuilder ()
85+ .add_sql_interception_with_date_range_condition (start_date , end_date )
86+ .build ()
87+ )
88+
89+ expected_query = """
90+ SELECT * FROM c
91+ WHERE (((c.start_date BETWEEN @start_date AND @end_date)
92+ OR (c.end_date BETWEEN @start_date AND @end_date))
93+ OR ((@start_date BETWEEN c.start_date AND c.end_date)
94+ OR (@end_date BETWEEN c.start_date AND c.end_date)))
95+ """
96+
97+ builder_query = time_entry_query_builder .get_query ()
98+
99+ assert remove_white_spaces (builder_query ) == remove_white_spaces (
100+ expected_query
101+ )
0 commit comments