From caf6d951b36727646c7f0c85dfb0c288874a1bd3 Mon Sep 17 00:00:00 2001 From: JG Date: Fri, 20 May 2022 06:35:03 +0100 Subject: [PATCH 1/6] test for user being in dev env not being asked for 2fa --- spec/models/user_spec.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index b7d421fef..2f6fc824d 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -139,6 +139,16 @@ RSpec.describe User, type: :model do it "can filter case logs by user, year, status and organisation" do expect(user.case_logs_filters).to eq(%w[status years user organisation]) end + + context "when the user is in development environment" do + before do + allow(Rails.env).to receive(:development?).and_return(true) + end + + it "doesn't require 2FA" do + expect(user.need_two_factor_authentication?(nil)).to be false + end + end end end From ee7594fe8bfa727fc220608ebe02dc39b8cd44c5 Mon Sep 17 00:00:00 2001 From: JG Date: Fri, 20 May 2022 06:35:19 +0100 Subject: [PATCH 2/6] code for user being in dev env not being asked for 2fa --- app/models/user.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/user.rb b/app/models/user.rb index 364b85351..4c0710555 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -90,6 +90,7 @@ class User < ApplicationRecord end def need_two_factor_authentication?(_request) + return false if Rails.env.development? support? end From 1101ae25fc23f8459e00db08f879a8d43d393a72 Mon Sep 17 00:00:00 2001 From: JG Date: Fri, 20 May 2022 06:46:00 +0100 Subject: [PATCH 3/6] pulled out of support person context, this should work for any user in dev env --- spec/models/user_spec.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 2f6fc824d..f22fea7ae 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -139,15 +139,15 @@ RSpec.describe User, type: :model do it "can filter case logs by user, year, status and organisation" do expect(user.case_logs_filters).to eq(%w[status years user organisation]) end + end - context "when the user is in development environment" do - before do - allow(Rails.env).to receive(:development?).and_return(true) - end + context "when the user is in development environment" do + before do + allow(Rails.env).to receive(:development?).and_return(true) + end - it "doesn't require 2FA" do - expect(user.need_two_factor_authentication?(nil)).to be false - end + it "doesn't require 2FA" do + expect(user.need_two_factor_authentication?(nil)).to be false end end end From 8a13dcd4dd592eb1f40885202eb1542243c0dbdc Mon Sep 17 00:00:00 2001 From: JG Date: Fri, 20 May 2022 06:53:23 +0100 Subject: [PATCH 4/6] rubocop --- app/models/user.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/user.rb b/app/models/user.rb index 4c0710555..efbe21b0e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -91,6 +91,7 @@ class User < ApplicationRecord def need_two_factor_authentication?(_request) return false if Rails.env.development? + support? end From 487a794cef4ba931ff65fdecfa6b55404b89266c Mon Sep 17 00:00:00 2001 From: JG Date: Fri, 20 May 2022 07:00:24 +0100 Subject: [PATCH 5/6] matching wording --- spec/models/user_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index f22fea7ae..e6d8eb9c5 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -146,7 +146,7 @@ RSpec.describe User, type: :model do allow(Rails.env).to receive(:development?).and_return(true) end - it "doesn't require 2FA" do + it "does not require 2FA" do expect(user.need_two_factor_authentication?(nil)).to be false end end From 62353e1965715ab6b8ee095f33850ba18bcba11d Mon Sep 17 00:00:00 2001 From: JG Date: Fri, 20 May 2022 07:16:04 +0100 Subject: [PATCH 6/6] only support user atm need 2fa, so making this explicit --- spec/models/user_spec.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index e6d8eb9c5..b639b9547 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -142,6 +142,8 @@ RSpec.describe User, type: :model do end context "when the user is in development environment" do + let(:user) { FactoryBot.create(:user, :support) } + before do allow(Rails.env).to receive(:development?).and_return(true) end