Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
gitlab-ce
Commits
1501a4f5
Commit
1501a4f5
authored
Jul 04, 2017
by
Nick Thomas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Clean up the ForkedProjectLink specs
parent
75ac425c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
29 deletions
+35
-29
spec/models/forked_project_link_spec.rb
spec/models/forked_project_link_spec.rb
+35
-29
No files found.
spec/models/forked_project_link_spec.rb
View file @
1501a4f5
...
@@ -2,53 +2,59 @@ require 'spec_helper'
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment