spec/omniauth/strategies/auth0_spec.rb in omniauth-auth0-2.2.0 vs spec/omniauth/strategies/auth0_spec.rb in omniauth-auth0-2.3.0
- old
+ new
@@ -80,10 +80,12 @@
expect(redirect_url).to have_query('response_type', 'code')
expect(redirect_url).to have_query('state')
expect(redirect_url).to have_query('client_id')
expect(redirect_url).to have_query('redirect_uri')
expect(redirect_url).not_to have_query('auth0Client')
+ expect(redirect_url).not_to have_query('connection')
+ expect(redirect_url).not_to have_query('prompt')
end
it 'redirects to hosted login page' do
get 'auth/auth0?connection=abcd'
expect(last_response.status).to eq(302)
@@ -93,12 +95,27 @@
expect(redirect_url).to have_query('state')
expect(redirect_url).to have_query('client_id')
expect(redirect_url).to have_query('redirect_uri')
expect(redirect_url).to have_query('connection', 'abcd')
expect(redirect_url).not_to have_query('auth0Client')
+ expect(redirect_url).not_to have_query('prompt')
end
+ it 'redirects to hosted login page with prompt=login' do
+ get 'auth/auth0?prompt=login'
+ expect(last_response.status).to eq(302)
+ redirect_url = last_response.headers['Location']
+ expect(redirect_url).to start_with('https://samples.auth0.com/authorize')
+ expect(redirect_url).to have_query('response_type', 'code')
+ expect(redirect_url).to have_query('state')
+ expect(redirect_url).to have_query('client_id')
+ expect(redirect_url).to have_query('redirect_uri')
+ expect(redirect_url).to have_query('prompt', 'login')
+ expect(redirect_url).not_to have_query('auth0Client')
+ expect(redirect_url).not_to have_query('connection')
+ end
+
describe 'callback' do
let(:access_token) { 'access token' }
let(:expires_in) { 2000 }
let(:token_type) { 'bearer' }
let(:refresh_token) { 'refresh token' }
@@ -298,10 +315,10 @@
RSpec::Matchers.define :have_query do |key, value|
match do |actual|
uri = redirect_uri(actual)
query = query(uri)
if value.nil?
- query[key].length == 1
+ query.key?(key)
else
query[key] == [value]
end
end