diff options
author | Douglas Lovell <doug@wbreeze.com> | 2017-03-12 12:22:00 -0300 |
---|---|---|
committer | Alfredo Sumaran <alfredo@gitlab.com> | 2017-04-09 08:43:49 -0500 |
commit | d0beb755f9ee8a744be087b22d51e8fe9ea98586 (patch) | |
tree | 6dd0a4644560490e0ecbc7adcf1f08724cebd043 /spec | |
parent | 3d1cade13f61115b63bf6dbda5a1f194ba54b24b (diff) | |
download | gitlab-ce-d0beb755f9ee8a744be087b22d51e8fe9ea98586.tar.gz |
Add a name field to the group edit formadd-field-for-group-name
Enables user specification of group name vs. name inferred from group path.
Cause new group form to copy name from path
Adds some new page-specific javascript that copies entry from the
group path field to the group name field when the group name field
is initially empty.
Remove duplicate group name entry field on group edit form
This corrects the duplicated name entry field and tests that the
JavaScript does not update the group name field if the user
edits the group path. (Editing the group path is not recommended
in any case, but it is possible.)
Address eslint errors in group.js
Enable group name copy with dispatch and explore group creation
The dispatch and explore group creation forms require the group.js
asset, and their tests now require testing against poltergeist
Update workflow new group instruction
Update the gitlab basics group creation document
Add a change log entry
Remove unused variable for eslint
Diffstat (limited to 'spec')
-rw-r--r-- | spec/features/admin/admin_groups_spec.rb | 39 | ||||
-rw-r--r-- | spec/features/dashboard/group_spec.rb | 14 | ||||
-rw-r--r-- | spec/features/groups_spec.rb | 2 |
3 files changed, 43 insertions, 12 deletions
diff --git a/spec/features/admin/admin_groups_spec.rb b/spec/features/admin/admin_groups_spec.rb index 56d5c7c327e..d5f595894d6 100644 --- a/spec/features/admin/admin_groups_spec.rb +++ b/spec/features/admin/admin_groups_spec.rb @@ -25,13 +25,22 @@ feature 'Admin Groups', feature: true do visit admin_groups_path click_link "New group" - fill_in 'group_path', with: 'gitlab' - fill_in 'group_description', with: 'Group description' + path_component = 'gitlab' + group_name = 'GitLab group name' + group_description = 'Description of group for GitLab' + fill_in 'group_path', with: path_component + fill_in 'group_name', with: group_name + fill_in 'group_description', with: group_description click_button "Create group" - expect(current_path).to eq admin_group_path(Group.find_by(path: 'gitlab')) - expect(page).to have_content('Group: gitlab') - expect(page).to have_content('Group description') + expect(current_path).to eq admin_group_path(Group.find_by(path: path_component)) + content = page.find('div#content-body') + h3_texts = content.all('h3').collect(&:text).join("\n") + expect(h3_texts).to match group_name + li_texts = content.all('li').collect(&:text).join("\n") + expect(li_texts).to match group_name + expect(li_texts).to match path_component + expect(li_texts).to match group_description end scenario 'shows the visibility level radio populated with the default value' do @@ -39,6 +48,15 @@ feature 'Admin Groups', feature: true do expect_selected_visibility(internal) end + + scenario 'when entered in group path, it auto filled the group name', js: true do + visit admin_groups_path + click_link "New group" + group_path = 'gitlab' + fill_in 'group_path', with: group_path + name_field = find('input#group_name') + expect(name_field.value).to eq group_path + end end describe 'show a group' do @@ -59,6 +77,17 @@ feature 'Admin Groups', feature: true do expect_selected_visibility(group.visibility_level) end + + scenario 'edit group path does not change group name', js: true do + group = create(:group, :private) + + visit admin_group_edit_path(group) + name_field = find('input#group_name') + original_name = name_field.value + fill_in 'group_path', with: 'this-new-path' + + expect(name_field.value).to eq original_name + end end describe 'add user into a group', js: true do diff --git a/spec/features/dashboard/group_spec.rb b/spec/features/dashboard/group_spec.rb index 19f5d1b0f30..1d4b86ed4b4 100644 --- a/spec/features/dashboard/group_spec.rb +++ b/spec/features/dashboard/group_spec.rb @@ -5,16 +5,18 @@ RSpec.describe 'Dashboard Group', feature: true do login_as(:user) end - it 'creates new grpup' do + it 'creates new group', js: true do visit dashboard_groups_path click_link 'New group' + new_path = 'Samurai' + new_description = 'Tokugawa Shogunate' - fill_in 'group_path', with: 'Samurai' - fill_in 'group_description', with: 'Tokugawa Shogunate' + fill_in 'group_path', with: new_path + fill_in 'group_description', with: new_description click_button 'Create group' - expect(current_path).to eq group_path(Group.find_by(name: 'Samurai')) - expect(page).to have_content('Samurai') - expect(page).to have_content('Tokugawa Shogunate') + expect(current_path).to eq group_path(Group.find_by(name: new_path)) + expect(page).to have_content(new_path) + expect(page).to have_content(new_description) end end diff --git a/spec/features/groups_spec.rb b/spec/features/groups_spec.rb index 7670c4caea4..3d32c47bf09 100644 --- a/spec/features/groups_spec.rb +++ b/spec/features/groups_spec.rb @@ -83,7 +83,7 @@ feature 'Group', feature: true do end end - describe 'create a nested group' do + describe 'create a nested group', js: true do let(:group) { create(:group, path: 'foo') } context 'as admin' do |