diff options
Diffstat (limited to 'spec/controllers/profiles')
-rw-r--r-- | spec/controllers/profiles/gpg_keys_controller_spec.rb | 19 | ||||
-rw-r--r-- | spec/controllers/profiles/keys_controller_spec.rb | 104 |
2 files changed, 19 insertions, 104 deletions
diff --git a/spec/controllers/profiles/gpg_keys_controller_spec.rb b/spec/controllers/profiles/gpg_keys_controller_spec.rb new file mode 100644 index 00000000000..93f899df484 --- /dev/null +++ b/spec/controllers/profiles/gpg_keys_controller_spec.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Profiles::GpgKeysController do + let(:user) { create(:user, email: GpgHelpers::User1.emails[0]) } + + describe 'POST #create' do + before do + sign_in(user) + end + + it 'creates a new key' do + expect do + post :create, params: { gpg_key: build(:gpg_key).attributes } + end.to change { GpgKey.count }.by(1) + end + end +end diff --git a/spec/controllers/profiles/keys_controller_spec.rb b/spec/controllers/profiles/keys_controller_spec.rb index 17964ef4a43..66f6135df1e 100644 --- a/spec/controllers/profiles/keys_controller_spec.rb +++ b/spec/controllers/profiles/keys_controller_spec.rb @@ -20,108 +20,4 @@ RSpec.describe Profiles::KeysController do expect(Key.last.expires_at).to be_like_time(expires_at) end end - - describe "#get_keys" do - describe "non existent user" do - it "does not generally work" do - get :get_keys, params: { username: 'not-existent' } - - expect(response).not_to be_successful - end - end - - describe "user with no keys" do - it "does generally work" do - get :get_keys, params: { username: user.username } - - expect(response).to be_successful - end - - it "renders all keys separated with a new line" do - get :get_keys, params: { username: user.username } - - expect(response.body).to eq("") - end - it "responds with text/plain content type" do - get :get_keys, params: { username: user.username } - expect(response.content_type).to eq("text/plain") - end - end - - describe "user with keys" do - let!(:key) { create(:key, user: user) } - let!(:another_key) { create(:another_key, user: user) } - let!(:deploy_key) { create(:deploy_key, user: user) } - - describe "while signed in" do - before do - sign_in(user) - end - - it "does generally work" do - get :get_keys, params: { username: user.username } - - expect(response).to be_successful - end - - it "renders all non deploy keys separated with a new line" do - get :get_keys, params: { username: user.username } - - expect(response.body).not_to eq('') - expect(response.body).to eq(user.all_ssh_keys.join("\n")) - - expect(response.body).to include(key.key.sub(' dummy@gitlab.com', '')) - expect(response.body).to include(another_key.key.sub(' dummy@gitlab.com', '')) - - expect(response.body).not_to include(deploy_key.key) - end - - it "does not render the comment of the key" do - get :get_keys, params: { username: user.username } - expect(response.body).not_to match(/dummy@gitlab.com/) - end - - it "responds with text/plain content type" do - get :get_keys, params: { username: user.username } - - expect(response.content_type).to eq("text/plain") - end - end - - describe 'when logged out' do - before do - sign_out(user) - end - - it "still does generally work" do - get :get_keys, params: { username: user.username } - - expect(response).to be_successful - end - - it "renders all non deploy keys separated with a new line" do - get :get_keys, params: { username: user.username } - - expect(response.body).not_to eq('') - expect(response.body).to eq(user.all_ssh_keys.join("\n")) - - expect(response.body).to include(key.key.sub(' dummy@gitlab.com', '')) - expect(response.body).to include(another_key.key.sub(' dummy@gitlab.com', '')) - - expect(response.body).not_to include(deploy_key.key) - end - - it "does not render the comment of the key" do - get :get_keys, params: { username: user.username } - expect(response.body).not_to match(/dummy@gitlab.com/) - end - - it "responds with text/plain content type" do - get :get_keys, params: { username: user.username } - - expect(response.content_type).to eq("text/plain") - end - end - end - end end |