Skip to content

Commit c516671

Browse files
committed
Improve tests
1 parent 1deb128 commit c516671

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

test/one_time_password_test.rb

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
require 'test_helper'
44

55
class OtpTest < MiniTest::Test
6+
include ActiveSupport::Testing::TimeHelpers
7+
68
def setup
79
@user = User.new
810
@user.email = '[email protected]'
@@ -131,7 +133,7 @@ def test_otp_code_with_specific_length
131133

132134
def test_otp_code_without_specific_length
133135
assert_match(/^\d{6}$/, @user.otp_code(2160).to_s)
134-
assert_operator(@user.otp_code(2160).to_s.length, :<=, 6)
136+
assert @user.otp_code(2160).to_s.length <= 6
135137
end
136138

137139
def test_provisioning_uri_with_provided_account
@@ -162,13 +164,8 @@ def test_provisioning_uri_with_options
162164
&issuer=Example$
163165
}x
164166

165-
assert_match(
166-
account, @user.provisioning_uri('roberto', issuer: 'Example')
167-
)
168-
169-
assert_match(
170-
account, @visitor.provisioning_uri('roberto', issuer: 'Example')
171-
)
167+
assert_match account, @user.provisioning_uri('roberto', issuer: 'Example')
168+
assert_match account, @visitor.provisioning_uri('roberto', issuer: 'Example')
172169

173170
assert_match email, @user.provisioning_uri(nil, issuer: 'Example')
174171
assert_match email, @visitor.provisioning_uri(nil, issuer: 'Example')
@@ -202,17 +199,22 @@ def test_otp_interval
202199
@interval_user.run_callbacks :create
203200
otp_code = @interval_user.otp_code
204201
2.times { assert_match(otp_code, @interval_user.otp_code) }
205-
sleep 5
206-
refute_match(otp_code, @interval_user.otp_code)
202+
203+
travel 5.seconds do
204+
refute_match(otp_code, @interval_user.otp_code)
205+
end
207206
end
208207

209208
def test_otp_default_interval
210209
@default_interval_user = DefaultIntervalUser.new
211210
@default_interval_user.email = '[email protected]'
212211
@default_interval_user.run_callbacks :create
213212
otp_code = @default_interval_user.otp_code
213+
214214
2.times { assert_match(otp_code, @default_interval_user.otp_code) }
215-
sleep 5
216-
assert_match(otp_code, @default_interval_user.otp_code)
215+
216+
travel 5.seconds do
217+
assert_match(otp_code, @default_interval_user.otp_code)
218+
end
217219
end
218220
end

test/test_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
require "minitest/autorun"
1010
require "minitest/unit"
1111
require "active_record"
12+
require "active_support/testing/time_helpers"
1213

1314
begin
1415
require "activemodel-serializers-xml"

0 commit comments

Comments
 (0)