summaryrefslogtreecommitdiff
path: root/spec/features/groups_spec.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-10-14 14:51:59 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-10-14 14:51:59 +0300
commitd7324f0ed5181f0eb765871a35eaee587bf25fa9 (patch)
tree146905d9134d1d8c5b1d7baa94c01e5f6c906d7c /spec/features/groups_spec.rb
parent17e23b4c9c141bdbdcde4efec0bbcfdd544da8bd (diff)
downloadgitlab-ce-d7324f0ed5181f0eb765871a35eaee587bf25fa9.tar.gz
Move edit group scenario to rspec and refactor groups_spec
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'spec/features/groups_spec.rb')
-rw-r--r--spec/features/groups_spec.rb78
1 files changed, 42 insertions, 36 deletions
diff --git a/spec/features/groups_spec.rb b/spec/features/groups_spec.rb
index 3f908294cbb..13bfe90302c 100644
--- a/spec/features/groups_spec.rb
+++ b/spec/features/groups_spec.rb
@@ -11,93 +11,99 @@ feature 'Group', feature: true do
end
end
- describe 'creating a group with space in group path' do
- it 'renders new group form with validation errors' do
- visit new_group_path
- fill_in 'Group path', with: 'space group'
+ describe 'create a group' do
+ before { visit new_group_path }
- click_button 'Create group'
+ describe 'with space in group path' do
+ it 'renders new group form with validation errors' do
+ fill_in 'Group path', with: 'space group'
+ click_button 'Create group'
- expect(current_path).to eq(groups_path)
- expect(page).to have_namespace_error_message
+ expect(current_path).to eq(groups_path)
+ expect(page).to have_namespace_error_message
+ end
end
- end
-
- describe 'creating a group with .atom at end of group path' do
- it 'renders new group form with validation errors' do
- visit new_group_path
- fill_in 'Group path', with: 'atom_group.atom'
- click_button 'Create group'
+ describe 'with .atom at end of group path' do
+ it 'renders new group form with validation errors' do
+ fill_in 'Group path', with: 'atom_group.atom'
+ click_button 'Create group'
- expect(current_path).to eq(groups_path)
- expect(page).to have_namespace_error_message
+ expect(current_path).to eq(groups_path)
+ expect(page).to have_namespace_error_message
+ end
end
- end
-
- describe 'creating a group with .git at end of group path' do
- it 'renders new group form with validation errors' do
- visit new_group_path
- fill_in 'Group path', with: 'git_group.git'
- click_button 'Create group'
+ describe 'with .git at end of group path' do
+ it 'renders new group form with validation errors' do
+ fill_in 'Group path', with: 'git_group.git'
+ click_button 'Create group'
- expect(current_path).to eq(groups_path)
- expect(page).to have_namespace_error_message
+ expect(current_path).to eq(groups_path)
+ expect(page).to have_namespace_error_message
+ end
end
end
- describe 'Group Edit' do
+ describe 'group edit' do
let(:group) { create(:group) }
let(:path) { edit_group_path(group) }
+ let(:new_name) { 'new-name' }
- it 'saves new settings' do
- expect(group.request_access_enabled).to be_truthy
- visit path
-
- find('#group_request_access_enabled').set(false)
+ before { visit path }
+ it 'saves new settings' do
+ fill_in 'group_name', with: new_name
click_button 'Save group'
expect(page).to have_content 'successfully updated'
- group.reload
- expect(group.request_access_enabled).to be_falsey
+ expect(find('#group_name').value).to eq(new_name)
+
+ page.within ".navbar-gitlab" do
+ expect(page).to have_content new_name
+ end
end
it 'removes group' do
- visit path
-
click_link 'Remove Group'
expect(page).to have_content "scheduled for deletion"
end
end
- describe 'description' do
+ describe 'group page with markdown description' do
let(:group) { create(:group) }
let(:path) { group_path(group) }
it 'parses Markdown' do
group.update_attribute(:description, 'This is **my** group')
+
visit path
+
expect(page).to have_css('.description > p > strong')
end
it 'passes through html-pipeline' do
group.update_attribute(:description, 'This group is the :poop:')
+
visit path
+
expect(page).to have_css('.description > p > img')
end
it 'sanitizes unwanted tags' do
group.update_attribute(:description, '# Group Description')
+
visit path
+
expect(page).not_to have_css('.description h1')
end
it 'permits `rel` attribute on links' do
group.update_attribute(:description, 'https://google.com/')
+
visit path
+
expect(page).to have_css('.description a[rel]')
end
end