diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-08-31 20:16:34 +0300 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-10-19 12:57:20 +0300 |
commit | f3fba178b931cd2ba67f81ee667893cb84e7d42f (patch) | |
tree | 24c5a688880d5edd75642a7f16623124bde9fc22 /spec/features | |
parent | 4321d70d24a6a7dc99f80fa4211ba6250504d99b (diff) |
Remove the `ForkedProjectLink` model
This removes the `ForkedProjectLink` model that has been replaced by
the `ForkNetworkMember` and `ForkNetwork` combination. All existing
relations have been adjusted to use these new models.
The `forked_project_link` table has been dropped.
The "Forks" count on the admin dashboard has been updated to count all
`ForkNetworkMember` rows and deduct the number of `ForkNetwork`
rows. This is because now the "root-project" of a fork network also
has a `ForkNetworkMember` row. This count could become inaccurate when
the root of a fork network is deleted.
Diffstat (limited to 'spec/features')
5 files changed, 46 insertions, 10 deletions
diff --git a/spec/features/admin/dashboard_spec.rb b/spec/features/admin/dashboard_spec.rb new file mode 100644 index 00000000000..a6ca0803469 --- /dev/null +++ b/spec/features/admin/dashboard_spec.rb @@ -0,0 +1,28 @@ +require 'spec_helper' + +describe 'admin visits dashboard' do + include ProjectForksHelper + + before do + sign_in(create(:admin)) + end + + context 'counting forks' do + it 'correctly counts 2 forks of a project' do + project = create(:project) + project_fork = fork_project(project) + fork_project(project_fork) + + # Make sure the fork_networks & fork_networks reltuples have been updated + # to get a correct count on postgresql + if Gitlab::Database.postgresql? + ActiveRecord::Base.connection.execute('ANALYZE fork_networks') + ActiveRecord::Base.connection.execute('ANALYZE fork_network_members') + end + + visit admin_root_path + + expect(page).to have_content('Forks 2') + end + end +end diff --git a/spec/features/merge_request/user_edits_mr_spec.rb b/spec/features/merge_request/user_edits_mr_spec.rb index 8c9e782aa76..3152707136c 100644 --- a/spec/features/merge_request/user_edits_mr_spec.rb +++ b/spec/features/merge_request/user_edits_mr_spec.rb @@ -1,11 +1,13 @@ require 'rails_helper' describe 'Merge request > User edits MR' do + include ProjectForksHelper + it_behaves_like 'an editable merge request' context 'for a forked project' do it_behaves_like 'an editable merge request' do - let(:source_project) { create(:project, :repository, forked_from_project: target_project) } + let(:source_project) { fork_project(target_project, nil, repository: true) } end end end diff --git a/spec/features/merge_request/user_sees_mr_from_deleted_forked_project_spec.rb b/spec/features/merge_request/user_sees_mr_from_deleted_forked_project_spec.rb index 029b66b5e8e..fc4a188d4a7 100644 --- a/spec/features/merge_request/user_sees_mr_from_deleted_forked_project_spec.rb +++ b/spec/features/merge_request/user_sees_mr_from_deleted_forked_project_spec.rb @@ -1,18 +1,20 @@ require 'rails_helper' describe 'Merge request > User sees MR from deleted forked project', :js do + include ProjectForksHelper + let(:project) { create(:project, :public, :repository) } let(:user) { project.creator } - let(:fork_project) { create(:project, :public, :repository, forked_from_project: project) } + let(:forked_project) { fork_project(project, nil, repository: true) } let!(:merge_request) do - create(:merge_request_with_diffs, source_project: fork_project, + create(:merge_request_with_diffs, source_project: forked_project, target_project: project, description: 'Test merge request') end before do MergeRequests::MergeService.new(project, user).execute(merge_request) - fork_project.destroy! + forked_project.destroy! sign_in(user) visit project_merge_request_path(project, merge_request) end diff --git a/spec/features/merge_request/user_sees_notes_from_forked_project_spec.rb b/spec/features/merge_request/user_sees_notes_from_forked_project_spec.rb index d4ad0b0a377..a6118453540 100644 --- a/spec/features/merge_request/user_sees_notes_from_forked_project_spec.rb +++ b/spec/features/merge_request/user_sees_notes_from_forked_project_spec.rb @@ -1,18 +1,20 @@ require 'rails_helper' describe 'Merge request > User sees notes from forked project', :js do + include ProjectForksHelper + let(:project) { create(:project, :public, :repository) } let(:user) { project.creator } - let(:fork_project) { create(:project, :public, :repository, forked_from_project: project) } + let(:forked_project) { fork_project(project, nil, repository: true) } let!(:merge_request) do - create(:merge_request_with_diffs, source_project: fork_project, + create(:merge_request_with_diffs, source_project: forked_project, target_project: project, description: 'Test merge request') end before do create(:note_on_commit, note: 'A commit comment', - project: fork_project, + project: forked_project, commit_id: merge_request.commit_shas.first) sign_in(user) end diff --git a/spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb b/spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb index d30dcefc6aa..97093bbc2f6 100644 --- a/spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb +++ b/spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb @@ -1,17 +1,19 @@ require 'rails_helper' describe 'Merge request > User sees pipelines from forked project', :js do + include ProjectForksHelper + let(:target_project) { create(:project, :public, :repository) } let(:user) { target_project.creator } - let(:fork_project) { create(:project, :repository, forked_from_project: target_project) } + let(:forked_project) { fork_project(target_project, nil, repository: true) } let!(:merge_request) do - create(:merge_request_with_diffs, source_project: fork_project, + create(:merge_request_with_diffs, source_project: forked_project, target_project: target_project, description: 'Test merge request') end let(:pipeline) do create(:ci_pipeline, - project: fork_project, + project: forked_project, sha: merge_request.diff_head_sha, ref: merge_request.source_branch) end |