diff options
Diffstat (limited to 'qa/spec/resource/user_spec.rb')
-rw-r--r-- | qa/spec/resource/user_spec.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/qa/spec/resource/user_spec.rb b/qa/spec/resource/user_spec.rb index d1fc02ff033..547c27dc2ff 100644 --- a/qa/spec/resource/user_spec.rb +++ b/qa/spec/resource/user_spec.rb @@ -143,4 +143,27 @@ RSpec.describe QA::Resource::User do end end end + + describe '#fabricate_or_use' do + # Signup Disabled, Personal Access Tokens disabled, method used, method that is not used + [ + [true, false, :fabricate_via_api!, :fabricate!], + [false, false, :fabricate!, :fabricate_via_api!], + [false, true, :fabricate!, :fabricate_via_api!], + [true, true, :fabricate!, :fabricate_via_api!] + ].each do |signup_disabled, personal_access_tokens_disabled, method_used, method_not_used| + it "when signup_disabled is #{signup_disabled}, "\ + "personal_access_tokens_disabled is #{personal_access_tokens_disabled}, "\ + "calls #{method_used}, does not call #{method_not_used}" do + allow(QA::Runtime::Env).to receive(:signup_disabled?).and_return(signup_disabled) + allow(QA::Runtime::Env).to receive(:personal_access_tokens_disabled?) + .and_return(personal_access_tokens_disabled) + + expect(described_class).to receive(method_used) + expect(described_class).not_to receive(method_not_used) + + described_class.fabricate_or_use + end + end + end end |