@@ -58,7 +58,7 @@ class TimerSessionTest < ActiveSupport::TestCase
58
58
assert_not @timer_session . valid?
59
59
end
60
60
61
- test 'overlaps?' do
61
+ test 'overlaps?' do # rubocop:disable Metrics/BlockLength
62
62
session1 = FactoryBot . create ( :timer_session , user : User . current , timer_start : Time . zone . now ,
63
63
timer_end : Time . zone . now + 1 . hour )
64
64
session2 = FactoryBot . create ( :timer_session , user : User . current , timer_start : Time . zone . now + 1 . hour ,
@@ -72,5 +72,26 @@ class TimerSessionTest < ActiveSupport::TestCase
72
72
73
73
assert session3 . overlaps? ( session1 )
74
74
assert session1 . overlaps? ( session3 )
75
+
76
+ base_time = Time . utc ( 2023 , 1 , 1 , 10 , 0 , 0 )
77
+ session1 = FactoryBot . create ( :timer_session , user : User . current ,
78
+ timer_start : base_time ,
79
+ timer_end : base_time + 1 . hour + 25 . seconds )
80
+ session2 = FactoryBot . create ( :timer_session , user : User . current ,
81
+ timer_start : base_time + 1 . hour + 5 . seconds ,
82
+ timer_end : base_time + 2 . hours )
83
+
84
+ assert_not session1 . overlaps? ( session2 )
85
+ assert_not session2 . overlaps? ( session1 )
86
+
87
+ session1 = FactoryBot . create ( :timer_session , user : User . current ,
88
+ timer_start : base_time ,
89
+ timer_end : base_time + 1 . hour + 32 . seconds )
90
+ session2 = FactoryBot . create ( :timer_session , user : User . current ,
91
+ timer_start : base_time + 1 . hour ,
92
+ timer_end : base_time + 2 . hours )
93
+
94
+ assert session1 . overlaps? ( session2 )
95
+ assert session2 . overlaps? ( session1 )
75
96
end
76
97
end
0 commit comments