提交 8626cdc3 编写于 作者: R Rémy Coutable

Merge branch 'rs-empty_project-features' into 'master'

Use `:empty_project` where possible in feature specs

See merge request !13118
require 'spec_helper'
feature 'Admin::HookLogs' do
let(:project) { create(:project) }
let(:project) { create(:empty_project) }
let(:system_hook) { create(:system_hook) }
let(:hook_log) { create(:web_hook_log, web_hook: system_hook, internal_error_message: 'some error') }
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
describe 'Admin::Hooks' do
before do
@project = create(:project)
@project = create(:empty_project)
sign_in(create(:admin))
@system_hook = create(:system_hook)
......
......@@ -4,17 +4,18 @@ describe "Admin::Projects" do
include Select2Helper
let(:user) { create :user }
let!(:project) { create(:project) }
let!(:current_user) { create(:admin) }
let(:project) { create(:empty_project) }
let(:current_user) { create(:admin) }
before do
sign_in(current_user)
end
describe "GET /admin/projects" do
let!(:archived_project) { create :project, :public, :archived }
let!(:archived_project) { create :empty_project, :public, :archived }
before do
expect(project).to be_persisted
visit admin_projects_path
end
......@@ -39,15 +40,14 @@ describe "Admin::Projects" do
describe "GET /admin/projects/:namespace_id/:id" do
before do
visit admin_projects_path
click_link "#{project.name}"
end
expect(project).to be_persisted
it do
expect(current_path).to eq admin_project_path(project)
visit admin_projects_path
click_link project.name
end
it "has project info" do
expect(current_path).to eq admin_project_path(project)
expect(page).to have_content(project.path)
expect(page).to have_content(project.name)
expect(page).to have_content(project.name_with_namespace)
......@@ -56,6 +56,9 @@ describe "Admin::Projects" do
end
describe 'transfer project' do
# The gitlab-shell transfer will fail for a project without a repository
let(:project) { create(:project, :repository) }
before do
create(:group, name: 'Web')
......
......@@ -257,7 +257,7 @@ describe "Admin::Users" do
describe "GET /admin/users/:id/projects" do
let(:group) { create(:group) }
let!(:project) { create(:project, group: group) }
let!(:project) { create(:empty_project, group: group) }
before do
group.add_developer(user)
......
......@@ -4,8 +4,8 @@ describe "Dashboard Issues Feed" do
describe "GET /issues" do
let!(:user) { create(:user, email: 'private1@example.com', public_email: 'public1@example.com') }
let!(:assignee) { create(:user, email: 'private2@example.com', public_email: 'public2@example.com') }
let!(:project1) { create(:project) }
let!(:project2) { create(:project) }
let!(:project1) { create(:empty_project) }
let!(:project2) { create(:empty_project) }
before do
project1.team << [user, :master]
......
......@@ -19,7 +19,7 @@ describe "Dashboard Feed" do
end
context 'feed content' do
let(:project) { create(:project) }
let(:project) { create(:empty_project) }
let(:issue) { create(:issue, project: project, author: user, description: '') }
let(:note) { create(:note, noteable: issue, author: user, note: 'Bug confirmed', project: project) }
......
......@@ -5,7 +5,7 @@ describe 'Issues Feed' do
let!(:user) { create(:user, email: 'private1@example.com', public_email: 'public1@example.com') }
let!(:assignee) { create(:user, email: 'private2@example.com', public_email: 'public2@example.com') }
let!(:group) { create(:group) }
let!(:project) { create(:project) }
let!(:project) { create(:empty_project) }
let!(:issue) { create(:issue, author: user, assignees: [assignee], project: project) }
before do
......
......@@ -19,7 +19,7 @@ describe "User Feed" do
end
context 'feed content' do
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:issue) do
create(:issue,
project: project,
......
......@@ -3,7 +3,7 @@ require 'spec_helper'
RSpec.describe 'Dashboard Archived Project' do
let(:user) { create :user }
let(:project) { create :project}
let(:archived_project) { create(:project, :archived) }
let(:archived_project) { create(:empty_project, :archived) }
before do
project.team << [user, :master]
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Tooltips on .timeago dates', js: true do
let(:user) { create(:user) }
let(:project) { create(:project, name: 'test', namespace: user.namespace) }
let(:project) { create(:empty_project, name: 'test', namespace: user.namespace) }
let(:created_date) { Date.yesterday.to_time }
let(:expected_format) { created_date.in_time_zone.strftime('%b %-d, %Y %l:%M%P') }
......
......@@ -2,8 +2,8 @@ require 'spec_helper'
describe 'Dashboard > label filter', js: true do
let(:user) { create(:user) }
let(:project) { create(:project, name: 'test', namespace: user.namespace) }
let(:project2) { create(:project, name: 'test2', path: 'test2', namespace: user.namespace) }
let(:project) { create(:empty_project, name: 'test', namespace: user.namespace) }
let(:project2) { create(:empty_project, name: 'test2', path: 'test2', namespace: user.namespace) }
let(:label) { create(:label, title: 'bug', color: '#ff0000') }
let(:label2) { create(:label, title: 'bug') }
......
......@@ -4,7 +4,7 @@ feature 'Dashboard > milestone filter', :js do
include FilterItemSelectHelper
let(:user) { create(:user) }
let(:project) { create(:project, name: 'test', namespace: user.namespace) }
let(:project) { create(:empty_project, name: 'test', namespace: user.namespace) }
let(:milestone) { create(:milestone, title: 'v1.0', project: project) }
let(:milestone2) { create(:milestone, title: 'v2.0', project: project) }
let!(:issue) { create :issue, author: user, project: project, milestone: milestone }
......
......@@ -3,7 +3,7 @@ require 'rails_helper'
feature 'Dashboard > Todo target states' do
let(:user) { create(:user) }
let(:author) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:empty_project, :public) }
before do
sign_in(user)
......
......@@ -3,7 +3,7 @@ require 'spec_helper'
feature 'Dashboard Todos' do
let(:user) { create(:user) }
let(:author) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:empty_project, :public) }
let(:issue) { create(:issue, due_date: Date.today) }
context 'User does not have todos' do
......@@ -212,7 +212,7 @@ feature 'Dashboard Todos' do
note1 = create(:note_on_issue, note: "Hello #{label1.to_reference(format: :name)}", noteable_id: issue.id, noteable_type: 'Issue', project: issue.project)
create(:todo, :mentioned, project: project, target: issue, user: user, note_id: note1.id)
project2 = create(:project, :public)
project2 = create(:empty_project, :public)
label2 = create(:label, project: project2)
issue2 = create(:issue, project: project2)
note2 = create(:note_on_issue, note: "Test #{label2.to_reference(format: :name)}", noteable_id: issue2.id, noteable_type: 'Issue', project: project2)
......
......@@ -2,9 +2,9 @@ require 'spec_helper'
describe 'Dashboard > User filters projects' do
let(:user) { create(:user) }
let(:project) { create(:project, name: 'Victorialand', namespace: user.namespace) }
let(:project) { create(:empty_project, name: 'Victorialand', namespace: user.namespace) }
let(:user2) { create(:user) }
let(:project2) { create(:project, name: 'Treasure', namespace: user2.namespace) }
let(:project2) { create(:empty_project, name: 'Treasure', namespace: user2.namespace) }
before do
project.team << [user, :master]
......
......@@ -4,7 +4,7 @@ feature 'Top Plus Menu', :js do
let(:user) { create(:user) }
let(:group) { create(:group) }
let(:project) { create(:project, :repository, creator: user, namespace: user.namespace) }
let(:public_project) { create(:project, :public) }
let(:public_project) { create(:empty_project, :public) }
before do
group.add_owner(user)
......
......@@ -49,7 +49,7 @@ feature 'Edit group settings' do
end
context 'with a project' do
given!(:project) { create(:project, group: group, path: 'project') }
given!(:project) { create(:empty_project, group: group) }
given(:old_project_full_path) { "/#{group.path}/#{project.path}" }
given(:new_project_full_path) { "/#{new_group_path}/#{project.path}" }
......@@ -65,14 +65,14 @@ feature 'Edit group settings' do
update_path(new_group_path)
visit new_project_full_path
expect(current_path).to eq(new_project_full_path)
expect(find('h1.project-title')).to have_content(project.name)
expect(find('h1.title')).to have_content(project.path)
end
scenario 'the old project path redirects to the new path' do
update_path(new_group_path)
visit old_project_full_path
expect(current_path).to eq(new_project_full_path)
expect(find('h1.project-title')).to have_content(project.name)
expect(find('h1.title')).to have_content(project.path)
end
end
end
......
......@@ -4,7 +4,7 @@ feature 'Groups > Members > Request access' do
let(:user) { create(:user) }
let(:owner) { create(:user) }
let(:group) { create(:group, :public, :access_requestable) }
let!(:project) { create(:project, :private, namespace: group) }
let!(:project) { create(:empty_project, :private, namespace: group) }
background do
group.add_owner(owner)
......
......@@ -7,7 +7,7 @@ feature 'Group merge requests page' do
include_examples 'project features apply to issuables', MergeRequest
context 'archived issuable' do
let(:project_archived) { create(:project, :archived, :merge_requests_enabled, group: group) }
let(:project_archived) { create(:project, :archived, :merge_requests_enabled, :repository, group: group) }
let(:issuable_archived) { create(:merge_request, source_project: project_archived, target_project: project_archived, title: 'issuable of an archived project') }
let(:access_level) { ProjectFeature::ENABLED }
let(:user) { user_in_group }
......
......@@ -79,7 +79,7 @@ describe 'Issuables Close/Reopen/Report toggle' do
end
context 'on a merge request' do
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:issuable) { create(:merge_request, source_project: project) }
before do
......@@ -96,7 +96,7 @@ describe 'Issuables Close/Reopen/Report toggle' do
end
context 'when user doesnt have permission to update' do
let(:cant_project) { create(:project) }
let(:cant_project) { create(:project, :repository) }
let(:cant_issuable) { create(:merge_request, source_project: cant_project) }
before do
......
......@@ -3,7 +3,7 @@ require 'rails_helper'
describe 'Issue Sidebar on Mobile' do
include MobileHelpers
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:merge_request) { create(:merge_request, source_project: project) }
let(:issue) { create(:issue, project: project) }
let!(:user) { create(:user)}
......
require 'rails_helper'
describe 'Awards Emoji' do
let!(:project) { create(:project, :public) }
let!(:project) { create(:empty_project, :public) }
let!(:user) { create(:user) }
let(:issue) do
create(:issue,
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Issue awards', js: true do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:empty_project, :public) }
let(:issue) { create(:issue, project: project) }
describe 'logged in' do
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Issues > Labels bulk assignment' do
let(:user) { create(:user) }
let!(:project) { create(:project) }
let!(:project) { create(:empty_project) }
let!(:issue1) { create(:issue, project: project, title: "Issue 1") }
let!(:issue2) { create(:issue, project: project, title: "Issue 2") }
let!(:bug) { create(:label, project: project, title: 'bug') }
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Create Branch/Merge Request Dropdown on issue page', js: true do
let(:user) { create(:user) }
let!(:project) { create(:project) }
let!(:project) { create(:project, :repository) }
let(:issue) { create(:issue, project: project, title: 'Cherry-Coloured Funk') }
context 'for team members' do
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Resolving all open discussions in a merge request from an issue', js: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:merge_request) { create(:merge_request, source_project: project) }
let!(:discussion) { create(:diff_note_on_merge_request, noteable: merge_request, project: project).to_discussion }
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Resolve an open discussion in a merge request by creating an issue' do
let(:user) { create(:user) }
let(:project) { create(:project, only_allow_merge_if_all_discussions_are_resolved: true) }
let(:project) { create(:project, :repository, only_allow_merge_if_all_discussions_are_resolved: true) }
let(:merge_request) { create(:merge_request, source_project: project) }
let!(:discussion) { create(:diff_note_on_merge_request, noteable: merge_request, project: project).to_discussion }
......
......@@ -5,7 +5,7 @@ describe 'Filter issues', js: true do
include FilteredSearchHelpers
let!(:group) { create(:group) }
let!(:project) { create(:project, group: group) }
let!(:project) { create(:empty_project, group: group) }
let!(:user) { create(:user, username: 'joe', name: 'Joe') }
let!(:user2) { create(:user, username: 'jane') }
let!(:label) { create(:label, project: project) }
......
......@@ -4,7 +4,7 @@ describe 'New/edit issue', :js do
include ActionView::Helpers::JavaScriptHelper
include FormHelper
let!(:project) { create(:project) }
let!(:project) { create(:empty_project) }
let!(:user) { create(:user)}
let!(:user2) { create(:user)}
let!(:milestone) { create(:milestone, project: project) }
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'GFM autocomplete', js: true do
let(:user) { create(:user, name: '💃speciąl someone💃', username: 'someone.special') }
let(:project) { create(:project) }
let(:project) { create(:empty_project) }
let(:label) { create(:label, project: project, title: 'special+') }
let(:issue) { create(:issue, project: project) }
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Issue Detail', :js do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:empty_project, :public) }
let(:issue) { create(:issue, project: project, author: user) }
context 'when user displays the issue' do
......
......@@ -4,7 +4,7 @@ feature 'Issue Sidebar' do
include MobileHelpers
let(:group) { create(:group, :nested) }
let(:project) { create(:project, :public, namespace: group) }
let(:project) { create(:empty_project, :public, namespace: group) }
let(:issue) { create(:issue, project: project) }
let!(:user) { create(:user)}
let!(:label) { create(:label, project: project, title: 'bug') }
......
require 'rails_helper'
feature 'Issue markdown toolbar', js: true do
let(:project) { create(:project, :public) }
let(:project) { create(:empty_project, :public) }
let(:issue) { create(:issue, project: project) }
let(:user) { create(:user) }
let(:user) { create(:user) }
before do
sign_in(user)
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'issue move to another project' do
let(:user) { create(:user) }
let(:old_project) { create(:project) }
let(:old_project) { create(:project, :repository) }
let(:text) { 'Some issue description' }
let(:issue) do
......@@ -25,8 +25,8 @@ feature 'issue move to another project' do
context 'user has permission to move issue' do
let!(:mr) { create(:merge_request, source_project: old_project) }
let(:new_project) { create(:project) }
let(:new_project_search) { create(:project) }
let(:new_project) { create(:empty_project) }
let(:new_project_search) { create(:empty_project) }
let(:text) { "Text with #{mr.to_reference}" }
let(:cross_reference) { old_project.to_reference(new_project) }
......@@ -63,8 +63,8 @@ feature 'issue move to another project' do
end
context 'user does not have permission to move the issue to a project', js: true do
let!(:private_project) { create(:project, :private) }
let(:another_project) { create(:project) }
let!(:private_project) { create(:empty_project, :private) }
let(:another_project) { create(:empty_project) }
background { another_project.team << [user, :guest] }
scenario 'browsing projects in projects select' do
......
......@@ -35,42 +35,42 @@ describe 'Create notes on issues', :js do
context 'mentioning issue on a private project' do
it_behaves_like 'notes with reference' do
let(:project) { create(:project, :private) }
let(:project) { create(:empty_project, :private) }
let(:mention) { create(:issue, project: project) }
end
end
context 'mentioning issue on an internal project' do
it_behaves_like 'notes with reference' do
let(:project) { create(:project, :internal) }
let(:project) { create(:empty_project, :internal) }
let(:mention) { create(:issue, project: project) }
end
end
context 'mentioning issue on a public project' do
it_behaves_like 'notes with reference' do
let(:project) { create(:project, :public) }
let(:project) { create(:empty_project, :public) }
let(:mention) { create(:issue, project: project) }
end
end
context 'mentioning merge request on a private project' do
it_behaves_like 'notes with reference' do
let(:project) { create(:project, :private) }
let(:project) { create(:project, :private, :repository) }
let(:mention) { create(:merge_request, source_project: project) }
end
end
context 'mentioning merge request on an internal project' do
it_behaves_like 'notes with reference' do
let(:project) { create(:project, :internal) }
let(:project) { create(:project, :internal, :repository) }
let(:mention) { create(:merge_request, source_project: project) }
end
end
context 'mentioning merge request on a public project' do
it_behaves_like 'notes with reference' do
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:mention) { create(:merge_request, source_project: project) }
end
end
......
......@@ -3,7 +3,7 @@ require 'rails_helper'
describe 'New issue', js: true do
include StubENV
let(:project) { create(:project, :public) }
let(:project) { create(:empty_project, :public) }
let(:user) { create(:user)}
before do
......
require 'rails_helper'
feature 'Manually create a todo item from issue', js: true do
let!(:project) { create(:project) }
let!(:issue) { create(:issue, project: project) }
let!(:user) { create(:user)}
let!(:project) { create(:empty_project) }
let!(:issue) { create(:issue, project: project) }
let!(:user) { create(:user)}
before do
project.team << [user, :master]
......
require 'rails_helper'
feature 'Multiple issue updating from issues#index', :js do
let!(:project) { create(:project) }
let!(:project) { create(:empty_project) }
let!(:issue) { create(:issue, project: project) }
let!(:user) { create(:user)}
......
......@@ -9,7 +9,7 @@ feature 'Issues > User uses quick actions', js: true do
describe 'issue-only commands' do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:empty_project, :public) }
before do
project.team << [user, :master]
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Merge request issue assignment', js: true do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:issue1) { create(:issue, project: project) }
let(:issue2) { create(:issue, project: project) }
let(:merge_request) { create(:merge_request, :simple, source_project: project, author: user, description: "fixes #{issue1.to_reference} and #{issue2.to_reference}") }
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Merge request awards', js: true do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:merge_request) { create(:merge_request, source_project: project) }
describe 'logged in' do
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Check if mergeable with unresolved discussions', js: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let!(:merge_request) { create(:merge_request_with_diff_notes, source_project: project, author: user) }
before do
......
......@@ -3,7 +3,7 @@ require 'spec_helper'
describe 'Cherry-pick Merge Requests', js: true do
let(:user) { create(:user) }
let(:group) { create(:group) }
let(:project) { create(:project, namespace: group) }
let(:project) { create(:project, :repository, namespace: group) }
let(:merge_request) { create(:merge_request_with_diffs, source_project: project, author: user) }
before do
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Merge Request closing issues message', js: true do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:issue_1) { create(:issue, project: project)}
let(:issue_2) { create(:issue, project: project)}
let(:merge_request) do
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Merge request conflict resolution', js: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
before do
# In order to have the diffs collapsed, we need to disable the increase feature
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Create New Merge Request', js: true do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
before do
project.team << [user, :master]
......@@ -63,7 +63,7 @@ feature 'Create New Merge Request', js: true do
context 'when target project cannot be viewed by the current user' do
it 'does not leak the private project name & namespace' do
private_project = create(:project, :private)
private_project = create(:project, :private, :repository)
visit project_new_merge_request_path(project, merge_request: { target_project_id: private_project.id })
......@@ -74,7 +74,7 @@ feature 'Create New Merge Request', js: true do
context 'when source project cannot be viewed by the current user' do
it 'does not leak the private project name & namespace' do
private_project = create(:project, :private)
private_project = create(:project, :private, :repository)
visit project_new_merge_request_path(project, merge_request: { source_project_id: private_project.id })
......
......@@ -2,8 +2,8 @@ require 'spec_helper'
feature 'Merge request created from fork' do
given(:user) { create(:user) }
given(:project) { create(:project, :public) }
given(:fork_project) { create(:project, :public) }
given(:project) { create(:project, :public, :repository) }
given(:fork_project) { create(:project, :public, :repository) }
given!(:merge_request) do
create(:forked_project_link, forked_to_project: fork_project,
......
......@@ -4,7 +4,7 @@ feature 'Diff note avatars', js: true do
include NoteInteractionHelpers
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:merge_request) { create(:merge_request_with_diffs, source_project: project, author: user, title: "Bug NS-04") }
let(:path) { "files/ruby/popen.rb" }
let(:position) do
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Diff notes resolve', js: true do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:merge_request) { create(:merge_request_with_diffs, source_project: project, author: user, title: "Bug NS-04") }
let!(:note) { create(:diff_note_on_merge_request, project: project, noteable: merge_request) }
let(:path) { "files/ruby/popen.rb" }
......
require 'spec_helper'
feature 'Diffs URL', js: true do
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:merge_request) { create(:merge_request, source_project: project) }
context 'when visit with */* as accept header' do
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Edit Merge Request' do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:merge_request) { create(:merge_request, :simple, source_project: project) }
before do
......
require 'rails_helper'
feature 'Issue filtering by Labels', js: true do
feature 'Merge Request filtering by Labels', js: true do
include FilteredSearchHelpers
include MergeRequestHelpers
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let!(:user) { create(:user) }
let!(:label) { create(:label, project: project) }
......
......@@ -4,7 +4,7 @@ feature 'Merge Request filtering by Milestone' do
include FilteredSearchHelpers
include MergeRequestHelpers
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let!(:user) { create(:user)}
let(:milestone) { create(:milestone, project: project) }
......
......@@ -4,7 +4,7 @@ describe 'Filter merge requests' do
include FilteredSearchHelpers
include MergeRequestHelpers
let!(:project) { create(:project) }
let!(:project) { create(:project, :repository) }
let!(:group) { create(:group) }
let!(:user) { create(:user) }
let!(:milestone) { create(:milestone, project: project) }
......
require 'rails_helper'
describe 'New/edit merge request', :js do
let!(:project) { create(:project, visibility_level: Gitlab::VisibilityLevel::PUBLIC) }
let(:fork_project) { create(:project, forked_from_project: project) }
let!(:user) { create(:user)}
let!(:user2) { create(:user)}
let!(:milestone) { create(:milestone, project: project) }
let!(:label) { create(:label, project: project) }
let!(:label2) { create(:label, project: project) }
let!(:project) { create(:project, :public, :repository) }
let(:fork_project) { create(:project, :repository, forked_from_project: project) }
let!(:user) { create(:user) }
let!(:user2) { create(:user) }
let!(:milestone) { create(:milestone, project: project) }
let!(:label) { create(:label, project: project) }
let!(:label2) { create(:label, project: project) }
before do
project.team << [user, :master]
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Clicking toggle commit message link', js: true do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:issue_1) { create(:issue, project: project)}
let(:issue_2) { create(:issue, project: project)}
let(:merge_request) do
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Merge immediately', :js do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let!(:merge_request) do
create(:merge_request_with_diffs, source_project: project,
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Merge When Pipeline Succeeds', :js do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:merge_request) do
create(:merge_request_with_diffs, source_project: project,
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Mini Pipeline Graph', :js do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:merge_request) { create(:merge_request, source_project: project, head_pipeline: pipeline) }
let(:pipeline) { create(:ci_empty_pipeline, project: project, ref: 'master', status: 'running', sha: project.commit.id) }
......
......@@ -5,7 +5,7 @@ feature 'Merge requests filter clear button', js: true do
include MergeRequestHelpers
include IssueHelpers
let!(:project) { create(:project, :public) }
let!(:project) { create(:project, :public, :repository) }
let!(:user) { create(:user) }
let!(:milestone) { create(:milestone, project: project) }
let!(:bug) { create(:label, project: project, name: 'bug')}
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'toggler_behavior', js: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:merge_request) { create(:merge_request, source_project: project, author: user) }
let(:note) { create(:diff_note_on_merge_request, noteable: merge_request, project: project) }
let(:fragment_id) { "#note_#{note.id}" }
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Multiple merge requests updating from merge_requests#index' do
let!(:user) { create(:user)}
let!(:project) { create(:project) }
let!(:project) { create(:project, :repository) }
let!(:merge_request) { create(:merge_request, source_project: project, target_project: project) }
before do
......
......@@ -4,7 +4,7 @@ describe 'Projects > Merge requests > User lists merge requests' do
include MergeRequestHelpers
include SortingHelper
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:user) { create(:user) }
before do
......
......@@ -3,7 +3,7 @@ require 'spec_helper'
describe 'Merge requests > User posts notes', :js do
include NoteInteractionHelpers
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:merge_request) do
create(:merge_request, source_project: project, target_project: project)
end
......
require 'spec_helper'
feature 'Merge requests > User sees system notes' do
let(:public_project) { create(:project, :public) }
let(:private_project) { create(:project, :private) }
let(:public_project) { create(:project, :public, :repository) }
let(:private_project) { create(:project, :private, :repository) }
let(:issue) { create(:issue, project: private_project) }
let(:merge_request) { create(:merge_request, source_project: public_project, source_branch: 'markdown') }
let!(:note) { create(:note_on_merge_request, :system, noteable: merge_request, project: public_project, note: "mentioned in #{issue.to_reference(public_project)}") }
......
......@@ -4,7 +4,7 @@ feature 'Merge Requests > User uses quick actions', js: true do
include QuickActionsHelpers
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:merge_request) { create(:merge_request, source_project: project) }
let!(:milestone) { create(:milestone, project: project, title: 'ASAP') }
......@@ -129,7 +129,7 @@ feature 'Merge Requests > User uses quick actions', js: true do
end
describe '/target_branch command in merge request' do
let(:another_project) { create(:project, :public) }
let(:another_project) { create(:project, :public, :repository) }
let(:new_url_opts) { { merge_request: { source_branch: 'feature' } } }
before do
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
describe 'Merge request', :js do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:merge_request) { create(:merge_request, source_project: project) }
before do
......@@ -200,7 +200,7 @@ describe 'Merge request', :js do
end
context 'user can merge into source project but cannot push to fork', js: true do
let(:fork_project) { create(:project, :public) }
let(:fork_project) { create(:project, :public, :repository) }
let(:user2) { create(:user) }
before do
......
require 'spec_helper'
feature 'Work In Progress help message' do
let!(:project) { create(:project, visibility_level: Gitlab::VisibilityLevel::PUBLIC) }
let!(:project) { create(:project, :public, :repository) }
let!(:user) { create(:user) }
before do
......
......@@ -27,7 +27,7 @@ feature 'Profile > Account' do
end
context 'with a project' do
given!(:project) { create(:project, namespace: user.namespace, path: 'project') }
given!(:project) { create(:empty_project, namespace: user.namespace) }
given(:new_project_path) { "/#{new_username}/#{project.path}" }
given(:old_project_path) { "/#{user.username}/#{project.path}" }
......@@ -43,14 +43,14 @@ feature 'Profile > Account' do
update_username(new_username)
visit new_project_path
expect(current_path).to eq(new_project_path)
expect(find('h1.project-title')).to have_content(project.name)
expect(find('h1.title')).to have_content(project.path)
end
scenario 'the old project path redirects to the new path' do
update_username(new_username)
visit old_project_path
expect(current_path).to eq(new_project_path)
expect(find('h1.project-title')).to have_content(project.name)
expect(find('h1.title')).to have_content(project.path)
end
end
end
......
require 'spec_helper'
feature 'Browse artifact', :js do
let(:project) { create(:project, :public) }
let(:pipeline) { create(:ci_empty_pipeline, project: project, sha: project.commit.sha, ref: 'master') }
let(:project) { create(:empty_project, :public) }
let(:pipeline) { create(:ci_empty_pipeline, project: project) }
let(:job) { create(:ci_build, :artifacts, pipeline: pipeline) }
def browse_path(path)
......
require 'spec_helper'
feature 'Download artifact', :js do
let(:project) { create(:project, :public) }
let(:pipeline) { create(:ci_empty_pipeline, status: :success, project: project, sha: project.commit.sha, ref: 'master') }
let(:project) { create(:empty_project, :public) }
let(:pipeline) { create(:ci_empty_pipeline, status: :success, project: project) }
let(:job) { create(:ci_build, :artifacts, :success, pipeline: pipeline) }
shared_examples 'downloading' do
......
require 'spec_helper'
feature 'Artifact file', :js do
let(:project) { create(:project, :public) }
let(:pipeline) { create(:ci_empty_pipeline, project: project, sha: project.commit.sha, ref: 'master') }
let(:project) { create(:empty_project, :public) }
let(:pipeline) { create(:ci_empty_pipeline, project: project) }
let(:build) { create(:ci_build, :artifacts, pipeline: pipeline) }
def visit_file(path)
......
require 'spec_helper'
feature 'Raw artifact', :js do
let(:project) { create(:project, :public) }
let(:pipeline) { create(:ci_empty_pipeline, project: project, sha: project.commit.sha, ref: 'master') }
let(:project) { create(:empty_project, :public) }
let(:pipeline) { create(:ci_empty_pipeline, project: project) }
let(:job) { create(:ci_build, :artifacts, pipeline: pipeline) }
def raw_path(path)
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'test coverage badge' do
given!(:user) { create(:user) }
given!(:project) { create(:project, :private) }
given!(:project) { create(:empty_project, :private) }
context 'when user has access to view badge' do
background do
......@@ -55,7 +55,7 @@ feature 'test coverage badge' do
end
def create_pipeline
opts = { project: project, ref: 'master', sha: project.commit.id }
opts = { project: project }
create(:ci_pipeline, opts).tap do |pipeline|
yield pipeline
......
......@@ -3,7 +3,7 @@ require 'spec_helper'
feature 'list of badges' do
background do
user = create(:user)
project = create(:project)
project = create(:project, :repository)
project.team << [user, :master]
sign_in(user)
visit project_pipelines_settings_path(project)
......
require 'spec_helper'
feature 'File blob', :js do
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
def visit_blob(path, anchor: nil, ref: 'master')
visit project_blob_path(project, File.join(ref, path), anchor: anchor)
......
......@@ -4,7 +4,7 @@ feature 'Download buttons in branches page' do
given(:user) { create(:user) }
given(:role) { :developer }
given(:status) { 'success' }
given(:project) { create(:project) }
given(:project) { create(:project, :repository) }
given(:pipeline) do
create(:ci_pipeline,
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
describe 'New Branch Ref Dropdown', :js do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:toggle) { find('.create-from .dropdown-menu-toggle') }
before do
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
describe 'Branches' do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
let(:repository) { project.repository }
def set_protected_branch_name(branch_name)
......
require 'spec_helper'
feature 'project commit pipelines', js: true do
given(:project) { create(:project) }
given(:project) { create(:project, :repository) }
background do
user = create(:user)
......
......@@ -3,7 +3,7 @@ require 'spec_helper'
describe 'Cherry-pick Commits' do
let(:user) { create(:user) }
let(:group) { create(:group) }
let(:project) { create(:project, namespace: group) }
let(:project) { create(:project, :repository, namespace: group) }
let(:master_pickable_commit) { project.commit('7d3b0f7cff5f37573aea97cebfd5692ea1689924') }
let(:master_pickable_merge) { project.commit('e56497bb5f03a90a51293fc6d516788730953899') }
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Mini Pipeline Graph in Commit View', :js do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:project) { create(:project, :public, :repository) }
before do
sign_in(user)
......
......@@ -2,7 +2,7 @@ require "spec_helper"
describe "Compare", js: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
before do
project.team << [user, :master]
......
......@@ -2,7 +2,7 @@ require 'rails_helper'
feature 'Project edit', js: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:project) { create(:empty_project) }
before do
project.team << [user, :master]
......@@ -20,7 +20,7 @@ feature 'Project edit', js: true do
end
context 'given project with merge_requests_disabled access level' do
let(:project) { create(:project, :merge_requests_disabled) }
let(:project) { create(:empty_project, :merge_requests_disabled) }
it 'hides merge requests section' do
expect(page).to have_selector('.merge-requests-feature', visible: false)
......@@ -36,7 +36,7 @@ feature 'Project edit', js: true do
end
context 'given project with builds_disabled access level' do
let(:project) { create(:project, :builds_disabled) }
let(:project) { create(:empty_project, :builds_disabled) }
it 'hides builds select section' do
expect(page).to have_selector('.builds-feature', visible: false)
......
......@@ -205,7 +205,7 @@ feature 'Environment' do
end
feature 'auto-close environment when branch is deleted' do
given(:project) { create(:project) }
given(:project) { create(:project, :repository) }
given!(:environment) do
create(:environment, :with_review_app, project: project,
......
......@@ -111,7 +111,7 @@ feature 'Environments page', :js do
end
context 'with deployments' do
given(:project) { create(:project) }
given(:project) { create(:project, :repository) }
given(:deployment) do
create(:deployment, environment: environment,
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
describe 'Edit Project Settings' do
let(:member) { create(:user) }
let!(:project) { create(:project, :public, path: 'gitlab', name: 'sample') }
let!(:project) { create(:project, :public, :repository) }
let!(:issue) { create(:issue, project: project) }
let(:non_member) { create(:user) }
......@@ -249,7 +249,7 @@ describe 'Edit Project Settings' do
# Regression spec for https://gitlab.com/gitlab-org/gitlab-ce/issues/24056
describe 'project statistic visibility' do
let!(:project) { create(:project, :private) }
let!(:project) { create(:empty_project, :private) }
before do
project.team << [member, :guest]
......
require 'spec_helper'
feature 'user browses project', js: true do
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:user) { create(:user) }
before do
......
require 'spec_helper'
feature 'User wants to create a file' do
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:user) { create(:user) }
background do
......
......@@ -4,7 +4,7 @@ require 'fileutils'
feature 'User wants to add a Dockerfile file' do
before do
user = create(:user)
project = create(:project)
project = create(:project, :repository)
project.team << [user, :master]
sign_in user
......
......@@ -4,7 +4,7 @@ feature 'Download buttons in files tree' do
given(:user) { create(:user) }
given(:role) { :developer }
given(:status) { 'success' }
given(:project) { create(:project) }
given(:project) { create(:project, :repository) }
given(:pipeline) do
create(:ci_pipeline,
......
......@@ -3,7 +3,7 @@ require 'spec_helper'
feature 'User uses soft wrap whilst editing file', js: true do
before do
user = create(:user)
project = create(:project)
project = create(:project, :repository)
project.team << [user, :master]
sign_in user
visit project_new_blob_path(project, 'master', file_name: 'test_file-name')
......
require 'spec_helper'
feature 'User wants to edit a file' do
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:user) { create(:user) }
let(:commit_params) do
{
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Find file keyboard shortcuts', js: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
before do
project.team << [user, :master]
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'Find files button in the tree header' do
given(:user) { create(:user) }
given(:project) { create(:project) }
given(:project) { create(:project, :repository) }
background do
sign_in(user)
......
......@@ -3,7 +3,7 @@ require 'spec_helper'
feature 'User wants to add a .gitignore file' do
before do
user = create(:user)
project = create(:project)
project = create(:project, :repository)
project.team << [user, :master]
sign_in user
visit project_new_blob_path(project, 'master', file_name: '.gitignore')
......
......@@ -3,7 +3,7 @@ require 'spec_helper'
feature 'User wants to add a .gitlab-ci.yml file' do
before do
user = create(:user)
project = create(:project)
project = create(:project, :repository)
project.team << [user, :master]
sign_in user
visit project_new_blob_path(project, 'master', file_name: '.gitlab-ci.yml')
......
......@@ -2,7 +2,7 @@ require 'spec_helper'
feature 'project owner creates a license file', js: true do
let(:project_master) { create(:user) }
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
background do
project.repository.delete_file(project_master, 'LICENSE',
message: 'Remove LICENSE', branch_name: 'master')
......
require 'spec_helper'
feature 'Template type dropdown selector', js: true do
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:user) { create(:user) }
before do
......
require 'spec_helper'
feature 'Template Undo Button', js: true do
let(:project) { create(:project) }
let(:project) { create(:project, :repository) }
let(:user) { create(:user) }
before do
......
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册