spec/omnicontacts/middleware/base_oauth_spec.rb in omnicontacts-0.3.4 vs spec/omnicontacts/middleware/base_oauth_spec.rb in omnicontacts-0.3.5
- old
+ new
@@ -9,11 +9,11 @@
def initialize app, consumer_key, consumer_secret, options = {}
super app, options
end
def redirect_path
- "/contacts/testprovider/callback"
+ "#{ MOUNT_PATH }testprovider/callback"
end
end
OmniContacts.integration_test.enabled = true
end
@@ -24,20 +24,26 @@
end.to_app
}
it "should return a preconfigured list of contacts" do
OmniContacts.integration_test.mock(:testprovider, :email => "user@example.com")
- get "/contacts/testprovider"
- get "/contacts/testprovider/callback"
+ get "#{ MOUNT_PATH }testprovider"
+ get "#{ MOUNT_PATH }testprovider/callback"
last_request.env["omnicontacts.contacts"].first[:email].should eq("user@example.com")
end
it "should redurect to failure url" do
OmniContacts.integration_test.mock(:testprovider, "some_error" )
- get "/contacts/testprovider"
- get "/contacts/testprovider/callback"
+ get "#{ MOUNT_PATH }testprovider"
+ get "#{MOUNT_PATH }testprovider/callback"
last_response.should be_redirect
- last_response.headers["location"].should eq("/contacts/failure?error_message=internal_error&importer=testprovider")
+ last_response.headers["location"].should eq("#{ MOUNT_PATH }failure?error_message=internal_error&importer=testprovider")
+ end
+
+ it "should pass through state query params to the failure url" do
+ OmniContacts.integration_test.mock(:testprovider, "some_error" )
+ get "#{MOUNT_PATH }testprovider/callback?state=/parent/resource/id"
+ last_response.headers["location"].should eq("#{ MOUNT_PATH }failure?error_message=internal_error&importer=testprovider&state=/parent/resource/id")
end
after(:all) do
OmniContacts.integration_test.enabled = false
OmniContacts.integration_test.clear_mocks
\ No newline at end of file