Skip to content
Snippets Groups Projects
Commit 1501a4f5 authored by Nick Thomas's avatar Nick Thomas
Browse files

Clean up the ForkedProjectLink specs

parent 75ac425c
No related branches found
No related tags found
No related merge requests found
Loading
@@ -2,53 +2,59 @@ require 'spec_helper'
Loading
@@ -2,53 +2,59 @@ require 'spec_helper'
   
describe ForkedProjectLink, "add link on fork" do describe ForkedProjectLink, "add link on fork" do
let(:project_from) { create(:project, :repository) } let(:project_from) { create(:project, :repository) }
let(:project_to) { fork_project(project_from, user) }
let(:user) { create(:user) } let(:user) { create(:user) }
let(:namespace) { user.namespace } let(:namespace) { user.namespace }
   
before do before do
create(:project_member, :reporter, user: user, project: project_from) project_from.add_reporter(user)
@project_to = fork_project(project_from, user) end
it 'project_from knows its forks' do
_ = project_to
expect(project_from.forks.count).to eq(1)
end end
   
it "project_to knows it is forked" do it "project_to knows it is forked" do
expect(@project_to.forked?).to be_truthy expect(project_to.forked?).to be_truthy
end end
   
it "project knows who it is forked from" do it "project knows who it is forked from" do
expect(@project_to.forked_from_project).to eq(project_from) expect(project_to.forked_from_project).to eq(project_from)
end end
end
   
describe '#forked?' do describe '#forked?' do
let(:forked_project_link) { build(:forked_project_link) } let(:project_to) { create(:project, forked_project_link: forked_project_link) }
let(:project_from) { create(:project, :repository) } let(:forked_project_link) { build(:forked_project_link) }
let(:project_to) { create(:project, forked_project_link: forked_project_link) }
   
before :each do before do
forked_project_link.forked_from_project = project_from forked_project_link.forked_from_project = project_from
forked_project_link.forked_to_project = project_to forked_project_link.forked_to_project = project_to
forked_project_link.save! forked_project_link.save!
end end
   
it "project_to knows it is forked" do it "project_to knows it is forked" do
expect(project_to.forked?).to be_truthy expect(project_to.forked?).to be_truthy
end end
   
it "project_from is not forked" do it "project_from is not forked" do
expect(project_from.forked?).to be_falsey expect(project_from.forked?).to be_falsey
end end
   
it "project_to.destroy destroys fork_link" do it "project_to.destroy destroys fork_link" do
expect(forked_project_link).to receive(:destroy) expect(forked_project_link).to receive(:destroy)
project_to.destroy
project_to.destroy
end
end end
end
   
def fork_project(from_project, user) def fork_project(from_project, user)
shell = double('gitlab_shell', fork_repository: true) service = Projects::ForkService.new(from_project, user)
shell = double('gitlab_shell', fork_repository: true)
   
service = Projects::ForkService.new(from_project, user) allow(service).to receive(:gitlab_shell).and_return(shell)
allow(service).to receive(:gitlab_shell).and_return(shell)
   
service.execute service.execute
end
end end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment