All checks were successful
continuous-integration/drone/push Build is passing
See https://github.com/remotestorage/remotestorage.js/issues/900
41 lines
1.2 KiB
Ruby
41 lines
1.2 KiB
Ruby
require 'rails_helper'
|
|
|
|
RSpec.describe Services::RsAuthsController, type: :controller do
|
|
let(:user) { create :user }
|
|
|
|
before do
|
|
allow_any_instance_of(AppCatalog::WebApp).to receive(:update_metadata).and_return(true)
|
|
allow_any_instance_of(RemoteStorageAuthorization).to receive(:remove_token_expiry_job).and_return(nil)
|
|
allow_any_instance_of(Flipper).to receive(:enabled?).and_return(true)
|
|
end
|
|
|
|
describe "GET /services/storage/rs_auths/:id/launch_app" do
|
|
context "when user is signed in" do
|
|
before do
|
|
sign_in user
|
|
end
|
|
|
|
context "token exists" do
|
|
before do
|
|
@auth = user.remote_storage_authorizations.create!(
|
|
permissions: %w(documents), client_id: "app.example.com",
|
|
redirect_uri: "https://app.example.com",
|
|
expire_at: 2.days.from_now
|
|
)
|
|
|
|
get :launch_app, params: { id: @auth.id }
|
|
end
|
|
|
|
after do
|
|
@auth.destroy
|
|
end
|
|
|
|
it "redirects to the given URL with the correct RS URL fragment params" do
|
|
launch_url = "https://app.example.com#remotestorage=#{user.address}"
|
|
expect(response).to redirect_to(launch_url)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|