3894ae3bd0
Closes #28233
55 lines
1.3 KiB
Ruby
55 lines
1.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
feature 'Groups members list', feature: true do
|
|
let(:user1) { create(:user, name: 'John Doe') }
|
|
let(:user2) { create(:user, name: 'Mary Jane') }
|
|
let(:group) { create(:group) }
|
|
let(:nested_group) { create(:group, parent: group) }
|
|
|
|
background do
|
|
login_as(user1)
|
|
end
|
|
|
|
scenario 'show members from current group and parent' do
|
|
group.add_developer(user1)
|
|
nested_group.add_developer(user2)
|
|
|
|
visit group_group_members_path(nested_group)
|
|
|
|
expect(first_row.text).to include(user1.name)
|
|
expect(second_row.text).to include(user2.name)
|
|
end
|
|
|
|
scenario 'show user once if member of both current group and parent' do
|
|
group.add_developer(user1)
|
|
nested_group.add_developer(user1)
|
|
|
|
visit group_group_members_path(nested_group)
|
|
|
|
expect(first_row.text).to include(user1.name)
|
|
expect(second_row).to be_blank
|
|
end
|
|
|
|
it 'updates user to owner level', :js do
|
|
group.add_owner(user1)
|
|
group.add_developer(user2)
|
|
|
|
visit group_group_members_path(group)
|
|
|
|
page.within(second_row) do
|
|
click_button('Developer')
|
|
|
|
click_link('Owner')
|
|
|
|
expect(page).to have_button('Owner')
|
|
end
|
|
end
|
|
|
|
def first_row
|
|
page.all('ul.content-list > li')[0]
|
|
end
|
|
|
|
def second_row
|
|
page.all('ul.content-list > li')[1]
|
|
end
|
|
end
|