| 
									
										
										
										
											2024-01-29 18:14:31 -08:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require "utils/timer" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-18 15:11:11 -08:00
										 |  |  | RSpec.describe Utils::Timer do | 
					
						
							| 
									
										
										
										
											2024-01-29 18:14:31 -08:00
										 |  |  |   describe "#remaining" do | 
					
						
							|  |  |  |     it "returns nil when nil" do | 
					
						
							|  |  |  |       expect(described_class.remaining(nil)).to be_nil | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it "returns time remaining when there is time remaining" do | 
					
						
							|  |  |  |       expect(described_class.remaining(Time.now + 10)).to be > 1
 | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it "returns 0 when there is no time remaining" do | 
					
						
							|  |  |  |       expect(described_class.remaining(Time.now - 10)).to be 0
 | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#remaining!" do | 
					
						
							|  |  |  |     it "returns nil when nil" do | 
					
						
							|  |  |  |       expect(described_class.remaining!(nil)).to be_nil | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it "returns time remaining when there is time remaining" do | 
					
						
							|  |  |  |       expect(described_class.remaining!(Time.now + 10)).to be > 1
 | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it "returns 0 when there is no time remaining" do | 
					
						
							|  |  |  |       expect { described_class.remaining!(Time.now - 10) }.to raise_error(Timeout::Error) | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |