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