summaryrefslogtreecommitdiff
path: root/spec/views/devise
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2016-02-02 17:23:34 -0500
committerRobert Speicher <rspeicher@gmail.com>2016-02-24 17:38:13 -0500
commitb95ef77e233eab3b3d37a4a7dce545d9da36f8a0 (patch)
treecd5717ac2010967f33ed35691093a3b2c040e3c9 /spec/views/devise
parent4a9affa7330f2099f6385d3d74150f93cfd008f1 (diff)
downloadgitlab-ce-b95ef77e233eab3b3d37a4a7dce545d9da36f8a0.tar.gz
Move "I should see Crowd login form" feature to a view specrs-crowd-form-view-spec
We were doing all kinds of code gymnastics to "enable" Crowd in the feature spec and this would sometimes cause a transient failure. Really what it's testing is if the Crowd login form shows when Crowd's enabled, so this is much better suited to a view spec.
Diffstat (limited to 'spec/views/devise')
-rw-r--r--spec/views/devise/shared/_signin_box.html.haml_spec.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/views/devise/shared/_signin_box.html.haml_spec.rb b/spec/views/devise/shared/_signin_box.html.haml_spec.rb
new file mode 100644
index 00000000000..05a76ee4bdb
--- /dev/null
+++ b/spec/views/devise/shared/_signin_box.html.haml_spec.rb
@@ -0,0 +1,37 @@
+require 'rails_helper'
+
+describe 'devise/shared/_signin_box' do
+ describe 'Crowd form' do
+ before do
+ stub_devise
+ assign(:ldap_servers, [])
+ end
+
+ it 'is shown when Crowd is enabled' do
+ enable_crowd
+
+ render
+
+ expect(rendered).to have_selector('#tab-crowd form')
+ end
+
+ it 'is not shown when Crowd is disabled' do
+ render
+
+ expect(rendered).not_to have_selector('#tab-crowd')
+ end
+ end
+
+ def stub_devise
+ allow(view).to receive(:devise_mapping).and_return(Devise.mappings[:user])
+ allow(view).to receive(:resource).and_return(spy)
+ allow(view).to receive(:resource_name).and_return(:user)
+ end
+
+ def enable_crowd
+ allow(view).to receive(:form_based_providers).and_return([:crowd])
+ allow(view).to receive(:crowd_enabled?).and_return(true)
+ allow(view).to receive(:user_omniauth_authorize_path).with('crowd').
+ and_return('/crowd')
+ end
+end