Commit d7324f0e authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Move edit group scenario to rspec and refactor groups_spec

Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 17e23b4c
...@@ -3,7 +3,6 @@ require 'constraints/group_url_constrainer' ...@@ -3,7 +3,6 @@ require 'constraints/group_url_constrainer'
constraints(GroupUrlConstrainer.new) do constraints(GroupUrlConstrainer.new) do
scope(path: ':id', as: :group, controller: :groups) do scope(path: ':id', as: :group, controller: :groups) do
get '/', action: :show get '/', action: :show
post '/', action: :create
patch '/', action: :update patch '/', action: :update
put '/', action: :update put '/', action: :update
delete '/', action: :destroy delete '/', action: :destroy
......
...@@ -39,11 +39,6 @@ Feature: Groups ...@@ -39,11 +39,6 @@ Feature: Groups
When I visit group "Owned" merge requests page When I visit group "Owned" merge requests page
Then I should not see merge requests from the archived project Then I should not see merge requests from the archived project
Scenario: I should see edit group "Owned" page
When I visit group "Owned" settings page
And I change group "Owned" name to "new-name"
Then I should see new group "Owned" name
Scenario: I edit group "Owned" avatar Scenario: I edit group "Owned" avatar
When I visit group "Owned" settings page When I visit group "Owned" settings page
And I change group "Owned" avatar And I change group "Owned" avatar
......
...@@ -73,18 +73,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps ...@@ -73,18 +73,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
author: current_user author: current_user
end end
step 'I change group "Owned" name to "new-name"' do
fill_in 'group_name', with: 'new-name'
fill_in 'group_path', with: 'new-name'
click_button "Save group"
end
step 'I should see new group "Owned" name' do
page.within ".navbar-gitlab" do
expect(page).to have_content "new-name"
end
end
step 'I change group "Owned" avatar' do step 'I change group "Owned" avatar' do
attach_file(:group_avatar, File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif')) attach_file(:group_avatar, File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif'))
click_button "Save group" click_button "Save group"
......
...@@ -11,11 +11,12 @@ feature 'Group', feature: true do ...@@ -11,11 +11,12 @@ feature 'Group', feature: true do
end end
end end
describe 'creating a group with space in group path' do describe 'create a group' do
before { visit new_group_path }
describe 'with space in group path' do
it 'renders new group form with validation errors' do it 'renders new group form with validation errors' do
visit new_group_path
fill_in 'Group path', with: 'space group' fill_in 'Group path', with: 'space group'
click_button 'Create group' click_button 'Create group'
expect(current_path).to eq(groups_path) expect(current_path).to eq(groups_path)
...@@ -23,11 +24,9 @@ feature 'Group', feature: true do ...@@ -23,11 +24,9 @@ feature 'Group', feature: true do
end end
end end
describe 'creating a group with .atom at end of group path' do describe 'with .atom at end of group path' do
it 'renders new group form with validation errors' do it 'renders new group form with validation errors' do
visit new_group_path
fill_in 'Group path', with: 'atom_group.atom' fill_in 'Group path', with: 'atom_group.atom'
click_button 'Create group' click_button 'Create group'
expect(current_path).to eq(groups_path) expect(current_path).to eq(groups_path)
...@@ -35,69 +34,76 @@ feature 'Group', feature: true do ...@@ -35,69 +34,76 @@ feature 'Group', feature: true do
end end
end end
describe 'creating a group with .git at end of group path' do describe 'with .git at end of group path' do
it 'renders new group form with validation errors' do it 'renders new group form with validation errors' do
visit new_group_path
fill_in 'Group path', with: 'git_group.git' fill_in 'Group path', with: 'git_group.git'
click_button 'Create group' click_button 'Create group'
expect(current_path).to eq(groups_path) expect(current_path).to eq(groups_path)
expect(page).to have_namespace_error_message expect(page).to have_namespace_error_message
end end
end end
end
describe 'Group Edit' do describe 'group edit' do
let(:group) { create(:group) } let(:group) { create(:group) }
let(:path) { edit_group_path(group) } let(:path) { edit_group_path(group) }
let(:new_name) { 'new-name' }
it 'saves new settings' do before { visit path }
expect(group.request_access_enabled).to be_truthy
visit path
find('#group_request_access_enabled').set(false)
it 'saves new settings' do
fill_in 'group_name', with: new_name
click_button 'Save group' click_button 'Save group'
expect(page).to have_content 'successfully updated' expect(page).to have_content 'successfully updated'
group.reload expect(find('#group_name').value).to eq(new_name)
expect(group.request_access_enabled).to be_falsey
page.within ".navbar-gitlab" do
expect(page).to have_content new_name
end
end end
it 'removes group' do it 'removes group' do
visit path
click_link 'Remove Group' click_link 'Remove Group'
expect(page).to have_content "scheduled for deletion" expect(page).to have_content "scheduled for deletion"
end end
end end
describe 'description' do describe 'group page with markdown description' do
let(:group) { create(:group) } let(:group) { create(:group) }
let(:path) { group_path(group) } let(:path) { group_path(group) }
it 'parses Markdown' do it 'parses Markdown' do
group.update_attribute(:description, 'This is **my** group') group.update_attribute(:description, 'This is **my** group')
visit path visit path
expect(page).to have_css('.description > p > strong') expect(page).to have_css('.description > p > strong')
end end
it 'passes through html-pipeline' do it 'passes through html-pipeline' do
group.update_attribute(:description, 'This group is the :poop:') group.update_attribute(:description, 'This group is the :poop:')
visit path visit path
expect(page).to have_css('.description > p > img') expect(page).to have_css('.description > p > img')
end end
it 'sanitizes unwanted tags' do it 'sanitizes unwanted tags' do
group.update_attribute(:description, '# Group Description') group.update_attribute(:description, '# Group Description')
visit path visit path
expect(page).not_to have_css('.description h1') expect(page).not_to have_css('.description h1')
end end
it 'permits `rel` attribute on links' do it 'permits `rel` attribute on links' do
group.update_attribute(:description, 'https://google.com/') group.update_attribute(:description, 'https://google.com/')
visit path visit path
expect(page).to have_css('.description a[rel]') expect(page).to have_css('.description a[rel]')
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment