BigW Consortium Gitlab

keys_spec.rb 1.26 KB
Newer Older
1 2
require 'rails_helper'

3
feature 'Profile > SSH Keys', feature: true do
4 5 6 7 8 9
  let(:user) { create(:user) }

  before do
    login_as(user)
  end

10 11 12 13 14 15
  describe 'User adds a key' do
    before do
      visit profile_keys_path
    end

    scenario 'auto-populates the title', js: true do
16 17 18 19
      fill_in('Key', with: attributes_for(:key).fetch(:key))

      expect(find_field('Title').value).to eq 'dummy@gitlab.com'
    end
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

    scenario 'saves the new key' do
      attrs = attributes_for(:key)

      fill_in('Key', with: attrs[:key])
      fill_in('Title', with: attrs[:title])
      click_button('Add key')

      expect(page).to have_content("Title: #{attrs[:title]}")
      expect(page).to have_content(attrs[:key])
    end
  end

  scenario 'User sees their keys' do
    key = create(:key, user: user)
    visit profile_keys_path

    expect(page).to have_content(key.title)
  end

  scenario 'User removes a key via the key index' do
    create(:key, user: user)
    visit profile_keys_path

    click_link('Remove')

    expect(page).to have_content('Your SSH keys (0)')
  end

  scenario 'User removes a key via its details page' do
    key = create(:key, user: user)
    visit profile_key_path(key)

    click_link('Remove')

    expect(page).to have_content('Your SSH keys (0)')
56 57
  end
end