45 lines
996 B
Ruby
45 lines
996 B
Ruby
module SharedUser
|
|
include Spinach::DSL
|
|
|
|
step 'User "John Doe" exists' do
|
|
user_exists("John Doe", { username: "john_doe" })
|
|
end
|
|
|
|
step 'User "Mary Jane" exists' do
|
|
user_exists("Mary Jane", { username: "mary_jane" })
|
|
end
|
|
|
|
step 'gitlab user "Mike"' do
|
|
create(:user, name: "Mike")
|
|
end
|
|
|
|
protected
|
|
|
|
def user_exists(name, options = {})
|
|
User.find_by(name: name) || create(:user, { name: name, admin: false }.merge(options))
|
|
end
|
|
|
|
step 'I have an ssh key' do
|
|
create(:personal_key, user: @user)
|
|
end
|
|
|
|
step 'I have no ssh keys' do
|
|
@user.keys.delete_all
|
|
end
|
|
|
|
step 'I click on "Personal projects" tab' do
|
|
page.within '.nav-links' do
|
|
click_link 'Personal projects'
|
|
end
|
|
|
|
expect(page).to have_css('.tab-content #projects.active')
|
|
end
|
|
|
|
step 'I click on "Contributed projects" tab' do
|
|
page.within '.nav-links' do
|
|
click_link 'Contributed projects'
|
|
end
|
|
|
|
expect(page).to have_css('.tab-content #contributed.active')
|
|
end
|
|
end
|