summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2017-07-28 15:26:25 +0100
committerPhil Hughes <me@iamphill.com>2017-07-28 15:29:13 +0100
commit6ec561a2f7384e6de59821fa4bcd5b63f605cb51 (patch)
treeabe6f0a179f419fba89cedb2bb1a98a0b843873b
parentf8e5941d372b9b41dc76668932920b2af3fd3c28 (diff)
downloadgitlab-ce-6ec561a2f7384e6de59821fa4bcd5b63f605cb51.tar.gz
fixed up specs
-rw-r--r--app/views/projects/edit.html.haml88
-rw-r--r--features/steps/project/project.rb16
-rw-r--r--features/steps/shared/project.rb2
-rw-r--r--spec/features/projects/features_visibility_spec.rb20
4 files changed, 71 insertions, 55 deletions
diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml
index 3a2a544b205..20fceda26dc 100644
--- a/app/views/projects/edit.html.haml
+++ b/app/views/projects/edit.html.haml
@@ -15,52 +15,52 @@
Update your project name, description, avatar, and other general settings.
.settings-content.no-animate{ class: ('expanded' if expanded) }
.project-edit-errors
- = form_for [@project.namespace.becomes(Namespace), @project], remote: true, html: { multipart: true, class: "edit-project" }, authenticity_token: true do |f|
- %fieldset
- .row
- .form-group.col-md-9
- = f.label :name, class: 'label-light', for: 'project_name_edit' do
- Project name
- = f.text_field :name, class: "form-control", id: "project_name_edit"
+ = form_for [@project.namespace.becomes(Namespace), @project], remote: true, html: { multipart: true, class: "edit-project" }, authenticity_token: true do |f|
+ %fieldset
+ .row
+ .form-group.col-md-9
+ = f.label :name, class: 'label-light', for: 'project_name_edit' do
+ Project name
+ = f.text_field :name, class: "form-control", id: "project_name_edit"
- .form-group.col-md-3
- = f.label :id, class: 'label-light' do
- Project ID
- = f.text_field :id, class: 'form-control', readonly: true
+ .form-group.col-md-3
+ = f.label :id, class: 'label-light' do
+ Project ID
+ = f.text_field :id, class: 'form-control', readonly: true
- .form-group
- = f.label :description, class: 'label-light' do
- Project description
- %span.light (optional)
- = f.text_area :description, class: "form-control", rows: 3, maxlength: 250
-
- - unless @project.empty_repo?
- .form-group
- = f.label :default_branch, "Default Branch", class: 'label-light'
- = f.select(:default_branch, @project.repository.branch_names, {}, {class: 'select2 select-wide'})
.form-group
- = f.label :tag_list, "Tags", class: 'label-light'
- = f.text_field :tag_list, value: @project.tag_list.sort.join(', '), maxlength: 2000, class: "form-control"
- %p.help-block Separate tags with commas.
- %fieldset.features
- %h5.prepend-top-0
- Project avatar
+ = f.label :description, class: 'label-light' do
+ Project description
+ %span.light (optional)
+ = f.text_area :description, class: "form-control", rows: 3, maxlength: 250
+
+ - unless @project.empty_repo?
.form-group
- - if @project.avatar?
- .avatar-container.s160
- = project_icon(@project.full_path, alt: '', class: 'avatar project-avatar s160')
- %p.light
- - if @project.avatar_in_git
- Project avatar in repository: #{ @project.avatar_in_git }
- %a.choose-btn.btn.js-choose-project-avatar-button
- Browse file...
- %span.file_name.prepend-left-default.js-avatar-filename No file chosen
- = f.file_field :avatar, class: "js-project-avatar-input hidden"
- .help-block The maximum file size allowed is 200KB.
- - if @project.avatar?
- %hr
- = link_to 'Remove avatar', project_avatar_path(@project), data: { confirm: "Project avatar will be removed. Are you sure?"}, method: :delete, class: "btn btn-remove btn-sm remove-avatar"
- = f.submit 'Save changes', class: "btn btn-save"
+ = f.label :default_branch, "Default Branch", class: 'label-light'
+ = f.select(:default_branch, @project.repository.branch_names, {}, {class: 'select2 select-wide'})
+ .form-group
+ = f.label :tag_list, "Tags", class: 'label-light'
+ = f.text_field :tag_list, value: @project.tag_list.sort.join(', '), maxlength: 2000, class: "form-control"
+ %p.help-block Separate tags with commas.
+ %fieldset.features
+ %h5.prepend-top-0
+ Project avatar
+ .form-group
+ - if @project.avatar?
+ .avatar-container.s160
+ = project_icon(@project.full_path, alt: '', class: 'avatar project-avatar s160')
+ %p.light
+ - if @project.avatar_in_git
+ Project avatar in repository: #{ @project.avatar_in_git }
+ %a.choose-btn.btn.js-choose-project-avatar-button
+ Browse file...
+ %span.file_name.prepend-left-default.js-avatar-filename No file chosen
+ = f.file_field :avatar, class: "js-project-avatar-input hidden"
+ .help-block The maximum file size allowed is 200KB.
+ - if @project.avatar?
+ %hr
+ = link_to 'Remove avatar', project_avatar_path(@project), data: { confirm: "Project avatar will be removed. Are you sure?"}, method: :delete, class: "btn btn-remove btn-sm remove-avatar"
+ = f.submit 'Save changes', class: "btn btn-save"
%section.settings.sharing-permissions
.settings-header
@@ -70,7 +70,7 @@
= expanded ? 'Collapse' : 'Expand'
%p
Enable or disable certain project features and choose access levels.
- .settings-content.no-animate{ class: ('expaneded' if expanded) }
+ .settings-content.no-animate{ class: ('expanded' if expanded) }
= form_for [@project.namespace.becomes(Namespace), @project], remote: true, html: { multipart: true, class: "sharing-permissions-form" }, authenticity_token: true do |f|
.form_group.sharing-and-permissions
.row.js-visibility-select
@@ -148,7 +148,7 @@
= f.submit 'Save changes', class: "btn btn-save"
- %section.settings.merge-request-settings{ style: ("display: none;" if @project.project_feature.send(:merge_requests_access_level) == 0) }
+ %section.settings.merge-requests-feature{ style: ("display: none;" if @project.project_feature.send(:merge_requests_access_level) == 0) }
.settings-header
%h4
Merge request settings
diff --git a/features/steps/project/project.rb b/features/steps/project/project.rb
index 170e2f16c80..0a89c1baf20 100644
--- a/features/steps/project/project.rb
+++ b/features/steps/project/project.rb
@@ -10,7 +10,9 @@ class Spinach::Features::Project < Spinach::FeatureSteps
end
step 'I save project' do
- click_button 'Save changes'
+ page.within '.general-settings' do
+ click_button 'Save changes'
+ end
end
step 'I should see project with new settings' do
@@ -31,7 +33,9 @@ class Spinach::Features::Project < Spinach::FeatureSteps
:project_avatar,
File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif')
)
- click_button 'Save changes'
+ page.within '.general-settings' do
+ click_button 'Save changes'
+ end
@project.reload
end
@@ -50,7 +54,9 @@ class Spinach::Features::Project < Spinach::FeatureSteps
:project_avatar,
File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif')
)
- click_button 'Save changes'
+ page.within '.general-settings' do
+ click_button 'Save changes'
+ end
@project.reload
end
@@ -69,7 +75,9 @@ class Spinach::Features::Project < Spinach::FeatureSteps
step 'change project default branch' do
select 'fix', from: 'project_default_branch'
- click_button 'Save changes'
+ page.within '.general-settings' do
+ click_button 'Save changes'
+ end
end
step 'I should see project default branch changed' do
diff --git a/features/steps/shared/project.rb b/features/steps/shared/project.rb
index da1cdd9f897..c9a63723212 100644
--- a/features/steps/shared/project.rb
+++ b/features/steps/shared/project.rb
@@ -103,7 +103,7 @@ module SharedProject
step 'I should see project settings' do
expect(current_path).to eq edit_project_path(@project)
expect(page).to have_content("Project name")
- expect(page).to have_content("Sharing & Permissions")
+ expect(page).to have_content("Sharing and permissions")
end
def current_project
diff --git a/spec/features/projects/features_visibility_spec.rb b/spec/features/projects/features_visibility_spec.rb
index bc58a8695d8..4f2dd410b82 100644
--- a/spec/features/projects/features_visibility_spec.rb
+++ b/spec/features/projects/features_visibility_spec.rb
@@ -39,8 +39,6 @@ describe 'Edit Project Settings' do
end
wait_for_requests
expect(page).to have_selector(".shortcuts-#{shortcut_name}")
-
- sleep 0.1
end
end
end
@@ -180,7 +178,11 @@ describe 'Edit Project Settings' do
it "disables repository related features" do
select "Disabled", from: "project_project_feature_attributes_repository_access_level"
- expect(find(".edit-project")).to have_selector("select.disabled", count: 2)
+ page.within('.sharing-permissions') do
+ click_button "Save changes"
+ end
+
+ expect(find(".sharing-permissions")).to have_selector("select.disabled", count: 2)
end
it "shows empty features project homepage" do
@@ -188,7 +190,9 @@ describe 'Edit Project Settings' do
select "Disabled", from: "project_project_feature_attributes_issues_access_level"
select "Disabled", from: "project_project_feature_attributes_wiki_access_level"
- click_button "Save changes"
+ page.within('.sharing-permissions') do
+ click_button "Save changes"
+ end
wait_for_requests
visit project_path(project)
@@ -201,7 +205,9 @@ describe 'Edit Project Settings' do
select "Disabled", from: "project_project_feature_attributes_issues_access_level"
select "Disabled", from: "project_project_feature_attributes_wiki_access_level"
- click_button "Save changes"
+ page.within('.sharing-permissions') do
+ click_button "Save changes"
+ end
wait_for_requests
visit activity_project_path(project)
@@ -242,7 +248,9 @@ describe 'Edit Project Settings' do
end
def save_changes_and_check_activity_tab
- click_button "Save changes"
+ page.within('.sharing-permissions') do
+ click_button "Save changes"
+ end
wait_for_requests
visit activity_project_path(project)