diff options
Diffstat (limited to 'qa/spec')
| -rw-r--r-- | qa/spec/resource/base_spec.rb | 36 | ||||
| -rw-r--r-- | qa/spec/resource/user_spec.rb | 27 |
2 files changed, 62 insertions, 1 deletions
diff --git a/qa/spec/resource/base_spec.rb b/qa/spec/resource/base_spec.rb index 195e497f290..0ec27da7277 100644 --- a/qa/spec/resource/base_spec.rb +++ b/qa/spec/resource/base_spec.rb @@ -87,12 +87,46 @@ RSpec.describe QA::Resource::Base do end context 'when resource supports fabrication via the API' do - it 'calls .fabricate_via_browser_ui!' do + it 'calls .fabricate_via_api!!' do expect(described_class).to receive(:fabricate_via_api!) described_class.fabricate! end end + + context 'when FIPS mode is enabled' do + before do + stub_env('FIPS', '1') + end + + it 'calls .fabricate_via_browser_ui!' do + expect(described_class).to receive(:fabricate_via_browser_ui!) + + described_class.fabricate! + end + end + end + + describe '.fabricate_via_api_unless_fips!' do + context 'when FIPS mode is not enabled' do + it 'calls .fabricate_via_api!!' do + expect(described_class).to receive(:fabricate_via_api!) + + described_class.fabricate_via_api_unless_fips! + end + end + + context 'when FIPS mode is enabled' do + before do + stub_env('FIPS', '1') + end + + it 'calls .fabricate_via_browser_ui!' do + expect(described_class).to receive(:fabricate_via_browser_ui!) + + described_class.fabricate_via_api_unless_fips! + end + end end describe '.fabricate_via_api!' do diff --git a/qa/spec/resource/user_spec.rb b/qa/spec/resource/user_spec.rb index d82dcc3b21e..d1fc02ff033 100644 --- a/qa/spec/resource/user_spec.rb +++ b/qa/spec/resource/user_spec.rb @@ -116,4 +116,31 @@ RSpec.describe QA::Resource::User do expect(subject).to be_credentials_given end end + + describe '#has_user?' do + let(:index_mock) do + instance_double(QA::Page::Admin::Overview::Users::Index) + end + + users = [ + ['foo', true], + ['bar', false] + ] + + users.each do |(username, found)| + it "returns #{found} when has_username returns #{found}" do + subject.username = username + + allow(QA::Flow::Login).to receive(:while_signed_in_as_admin).and_yield + allow(QA::Page::Main::Menu).to receive(:perform) + allow(QA::Page::Admin::Menu).to receive(:perform) + allow(QA::Page::Admin::Overview::Users::Index).to receive(:perform).and_yield(index_mock) + + expect(index_mock).to receive(:search_user).with(username) + expect(index_mock).to receive(:has_username?).with(username).and_return(found) + + expect(subject.has_user?(subject)).to eq(found) + end + end + end end |
