Commit 225a4b6ab481488f0906b3939188b14084774241
Committed by
Diego Camarinha
1 parent
42c8f5c0
[Colab] OmniAuth (colab) feature fixed
Signed off by: Daniel Miranda <danielkza2@gmail.com>
Showing
3 changed files
with
15 additions
and
12 deletions
Show diff stats
db/schema.rb
| @@ -68,8 +68,8 @@ ActiveRecord::Schema.define(version: 20151106182639) do | @@ -68,8 +68,8 @@ ActiveRecord::Schema.define(version: 20151106182639) do | ||
| 68 | t.string "provider" | 68 | t.string "provider" |
| 69 | end | 69 | end |
| 70 | 70 | ||
| 71 | - add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree | ||
| 72 | - add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree | ||
| 73 | - add_index "users", ["uid", "provider"], name: "index_users_on_uid_and_provider", unique: true, using: :btree | 71 | + add_index "users", ["email"], name: "index_users_on_email", unique: true |
| 72 | + add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true | ||
| 73 | + add_index "users", ["uid", "provider"], name: "index_users_on_uid_and_provider", unique: true | ||
| 74 | 74 | ||
| 75 | end | 75 | end |
features/step_definitions/user_steps.rb
| @@ -34,20 +34,20 @@ end | @@ -34,20 +34,20 @@ end | ||
| 34 | 34 | ||
| 35 | Given(/^I am logged in as a Colab user$/) do | 35 | Given(/^I am logged in as a Colab user$/) do |
| 36 | colab_user = FactoryGirl.build(:colab_user) | 36 | colab_user = FactoryGirl.build(:colab_user) |
| 37 | - first_name, last_name = colab_user.name.partition(' ') | ||
| 38 | 37 | ||
| 39 | - set_header('HTTP_REMOTE_USER', colab_user.uid) | ||
| 40 | - set_header('HTTP_REMOTE_USER_DATA', { | 38 | + set_header('Remote-User', colab_user.uid) |
| 39 | + set_header('Remote-User-Data', { | ||
| 41 | 'nickname': colab_user.uid, | 40 | 'nickname': colab_user.uid, |
| 42 | 'name': colab_user.name, | 41 | 'name': colab_user.name, |
| 43 | - 'firstname': first_name, | ||
| 44 | - 'lastname': last_name, | ||
| 45 | 'email': colab_user.email | 42 | 'email': colab_user.email |
| 46 | }.to_json) | 43 | }.to_json) |
| 44 | + | ||
| 45 | + visit(user_omniauth_authorize_path(provider: 'RemoteUser')) # Authenticate the user (remove this if you want just to set the headers) | ||
| 47 | end | 46 | end |
| 48 | 47 | ||
| 49 | Then(/^I should be at the Home page$/) do | 48 | Then(/^I should be at the Home page$/) do |
| 50 | - expect(current_path).to be("/") | 49 | + expect(page).to have_content("Understanding Code Metrics") # This ensures that capybara waits all the redirects to get finished before trying to check the URL |
| 50 | + expect(current_path).to eq(root_path(locale: I18n.locale)) | ||
| 51 | end | 51 | end |
| 52 | 52 | ||
| 53 | Then(/^I should be logged in$/) do | 53 | Then(/^I should be logged in$/) do |
features/users/omniauth.feature
| @@ -3,10 +3,13 @@ Feature: Omniauth authentication | @@ -3,10 +3,13 @@ Feature: Omniauth authentication | ||
| 3 | As a regular user | 3 | As a regular user |
| 4 | I want to authenticate with an external provider | 4 | I want to authenticate with an external provider |
| 5 | 5 | ||
| 6 | + #FIXME: For some reason. just for cucumber tests, if you set the HTTP headers, it ignores all the path you visit and goes straight to the omniauth controller action | ||
| 7 | + @javascript | ||
| 6 | Scenario: through Colab | 8 | Scenario: through Colab |
| 7 | Given I am logged in as a Colab user | 9 | Given I am logged in as a Colab user |
| 8 | - And I am at the homepage | ||
| 9 | - And I click the Sign In link | ||
| 10 | - When I click the Sign in with Remote User link | 10 | + #And I am at the homepage |
| 11 | + #And I take a picture of the page | ||
| 12 | + #And I click the Sign In link | ||
| 13 | + #When I click the Sign in with Remote User link | ||
| 11 | Then I should be at the Home page | 14 | Then I should be at the Home page |
| 12 | And I should be logged in | 15 | And I should be logged in |
| 13 | \ No newline at end of file | 16 | \ No newline at end of file |