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
Jérome Perrin
gitlab-ce
Commits
d06df33d
Commit
d06df33d
authored
Jul 25, 2016
by
Rémy Coutable
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ensure current user can retry a build before showing the 'Retry' button
Signed-off-by:
Rémy Coutable
<
remy@rymai.me
>
parent
a448e4a6
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
5 deletions
+28
-5
CHANGELOG
CHANGELOG
+1
-0
app/views/projects/builds/_sidebar.html.haml
app/views/projects/builds/_sidebar.html.haml
+1
-1
spec/features/builds_spec.rb
spec/features/builds_spec.rb
+26
-4
No files found.
CHANGELOG
View file @
d06df33d
...
@@ -20,6 +20,7 @@ v 8.10.2 (unreleased)
...
@@ -20,6 +20,7 @@ v 8.10.2 (unreleased)
- Disable MySQL foreign key checks before dropping all tables. !5472
- Disable MySQL foreign key checks before dropping all tables. !5472
- Use project ID in repository cache to prevent stale data from persisting across projects. !5460
- Use project ID in repository cache to prevent stale data from persisting across projects. !5460
- Ensure relative paths for video are rewritten as we do for images. !5474
- Ensure relative paths for video are rewritten as we do for images. !5474
- Ensure current user can retry a build before showing the 'Retry' button. !5476
v 8.10.1
v 8.10.1
- Refactor repository storages documentation. !5428
- Refactor repository storages documentation. !5428
...
...
app/views/projects/builds/_sidebar.html.haml
View file @
d06df33d
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
.block
{
class:
(
"block-first"
if
!
@build
.
coverage
&&
!
(
can?
(
current_user
,
:read_build
,
@project
)
&&
(
@build
.
artifacts?
||
@build
.
artifacts_expired?
)))
}
.block
{
class:
(
"block-first"
if
!
@build
.
coverage
&&
!
(
can?
(
current_user
,
:read_build
,
@project
)
&&
(
@build
.
artifacts?
||
@build
.
artifacts_expired?
)))
}
.title
.title
Build details
Build details
-
if
@build
.
retryable?
-
if
can?
(
current_user
,
:update_build
,
@build
)
&&
@build
.
retryable?
=
link_to
"Retry"
,
retry_namespace_project_build_path
(
@project
.
namespace
,
@project
,
@build
),
class:
'pull-right'
,
method: :post
=
link_to
"Retry"
,
retry_namespace_project_build_path
(
@project
.
namespace
,
@project
,
@build
),
class:
'pull-right'
,
method: :post
-
if
@build
.
merge_request
-
if
@build
.
merge_request
%p
.build-detail-row
%p
.build-detail-row
...
...
spec/features/builds_spec.rb
View file @
d06df33d
...
@@ -199,9 +199,13 @@ describe "Builds" do
...
@@ -199,9 +199,13 @@ describe "Builds" do
click_link
'Retry'
click_link
'Retry'
end
end
it
{
expect
(
page
.
status_code
).
to
eq
(
200
)
}
it
'shows the right status and buttons'
do
it
{
expect
(
page
).
to
have_content
'pending'
}
expect
(
page
).
to
have_http_status
(
200
)
it
{
expect
(
page
).
to
have_content
'Cancel'
}
expect
(
page
).
to
have_content
'pending'
page
.
within
(
'aside.right-sidebar'
)
do
expect
(
page
).
to
have_content
'Cancel'
end
end
end
end
context
"Build from other project"
do
context
"Build from other project"
do
...
@@ -212,7 +216,25 @@ describe "Builds" do
...
@@ -212,7 +216,25 @@ describe "Builds" do
page
.
driver
.
post
(
retry_namespace_project_build_path
(
@project
.
namespace
,
@project
,
@build2
))
page
.
driver
.
post
(
retry_namespace_project_build_path
(
@project
.
namespace
,
@project
,
@build2
))
end
end
it
{
expect
(
page
.
status_code
).
to
eq
(
404
)
}
it
{
expect
(
page
).
to
have_http_status
(
404
)
}
end
context
"Build that current user is not allowed to retry"
do
before
do
@build
.
run!
@build
.
cancel!
@project
.
update
(
visibility_level:
Gitlab
::
VisibilityLevel
::
PUBLIC
)
logout_direct
login_with
(
create
(
:user
))
visit
namespace_project_build_path
(
@project
.
namespace
,
@project
,
@build
)
end
it
'does not show the Retry button'
do
page
.
within
(
'aside.right-sidebar'
)
do
expect
(
page
).
not_to
have_content
'Retry'
end
end
end
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