BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
ba2e7dee
Commit
ba2e7dee
authored
Nov 16, 2016
by
Filipa Lacerda
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixes broken tests
parent
4f0a1698
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
121 additions
and
99 deletions
+121
-99
environment_actions.js.es6
...cripts/environments/components/environment_actions.js.es6
+5
-2
environments.scss
app/assets/stylesheets/pages/environments.scss
+7
-1
environment_spec.rb
spec/features/environment_spec.rb
+107
-0
environments_spec.rb
spec/features/environments_spec.rb
+2
-96
No files found.
app/assets/javascripts/environments/components/environment_actions.js.es6
View file @
ba2e7dee
...
...
@@ -27,10 +27,13 @@
const dropdownContainer = this.$el.querySelector('.dropdown-play-icon-container');
const actionContainers = this.$el.querySelectorAll('.action-play-icon-container');
// Phantomjs does not have support to iterate a nodelist.
const actionsArray = [].slice.call(actionContainers);
if (playIcon) {
if (playIcon
&& actionsArray && dropdownContainer
) {
dropdownContainer.appendChild(playIcon.cloneNode(true));
actionContainers.forEach((element) => {
actionsArray.forEach((element) => {
element.appendChild(playIcon.cloneNode(true));
});
}
...
...
app/assets/stylesheets/pages/environments.scss
View file @
ba2e7dee
.environments-container
,
.deployments-container
{
width
:
100%
;
overflow
:
auto
;
...
...
@@ -9,6 +8,13 @@
font-size
:
34px
;
}
@media
(
max-width
:
$screen-sm-min
)
{
.environments-container
{
width
:
100%
;
overflow
:
auto
;
}
}
.environments
{
.deployment-column
{
.avatar
{
...
...
spec/features/environment_spec.rb
0 → 100644
View file @
ba2e7dee
require
'spec_helper'
feature
'Environments'
,
feature:
true
do
given
(
:project
)
{
create
(
:empty_project
)
}
given
(
:user
)
{
create
(
:user
)
}
given
(
:role
)
{
:developer
}
background
do
login_as
(
user
)
project
.
team
<<
[
user
,
role
]
end
describe
'when showing the environment'
do
given
(
:environment
)
{
create
(
:environment
,
project:
project
)
}
given!
(
:deployment
)
{
}
given!
(
:manual
)
{
}
before
do
visit
namespace_project_environment_path
(
project
.
namespace
,
project
,
environment
)
end
context
'without deployments'
do
scenario
'does show no deployments'
do
expect
(
page
).
to
have_content
(
'You don\'t have any deployments right now.'
)
end
end
context
'with deployments'
do
given
(
:deployment
)
{
create
(
:deployment
,
environment:
environment
)
}
scenario
'does show deployment SHA'
do
expect
(
page
).
to
have_link
(
deployment
.
short_sha
)
end
scenario
'does not show a re-deploy button for deployment without build'
do
expect
(
page
).
not_to
have_link
(
'Re-deploy'
)
end
context
'with build'
do
given
(
:pipeline
)
{
create
(
:ci_pipeline
,
project:
project
)
}
given
(
:build
)
{
create
(
:ci_build
,
pipeline:
pipeline
)
}
given
(
:deployment
)
{
create
(
:deployment
,
environment:
environment
,
deployable:
build
)
}
scenario
'does show build name'
do
expect
(
page
).
to
have_link
(
"
#{
build
.
name
}
(#
#{
build
.
id
}
)"
)
end
scenario
'does show re-deploy button'
do
expect
(
page
).
to
have_link
(
'Re-deploy'
)
end
scenario
'does not show stop button'
do
expect
(
page
).
not_to
have_link
(
'Stop'
)
end
context
'with manual action'
do
given
(
:manual
)
{
create
(
:ci_build
,
:manual
,
pipeline:
pipeline
,
name:
'deploy to production'
)
}
scenario
'does show a play button'
do
expect
(
page
).
to
have_link
(
manual
.
name
.
humanize
)
end
scenario
'does allow to play manual action'
do
expect
(
manual
).
to
be_skipped
expect
{
click_link
(
manual
.
name
.
humanize
)
}.
not_to
change
{
Ci
::
Pipeline
.
count
}
expect
(
page
).
to
have_content
(
manual
.
name
)
expect
(
manual
.
reload
).
to
be_pending
end
context
'with external_url'
do
given
(
:environment
)
{
create
(
:environment
,
project:
project
,
external_url:
'https://git.gitlab.com'
)
}
given
(
:build
)
{
create
(
:ci_build
,
pipeline:
pipeline
)
}
given
(
:deployment
)
{
create
(
:deployment
,
environment:
environment
,
deployable:
build
)
}
scenario
'does show an external link button'
do
expect
(
page
).
to
have_link
(
nil
,
href:
environment
.
external_url
)
end
end
context
'with stop action'
do
given
(
:manual
)
{
create
(
:ci_build
,
:manual
,
pipeline:
pipeline
,
name:
'close_app'
)
}
given
(
:deployment
)
{
create
(
:deployment
,
environment:
environment
,
deployable:
build
,
on_stop:
'close_app'
)
}
scenario
'does show stop button'
do
expect
(
page
).
to
have_link
(
'Stop'
)
end
scenario
'does allow to stop environment'
do
click_link
(
'Stop'
)
expect
(
page
).
to
have_content
(
'close_app'
)
end
context
'for reporter'
do
let
(
:role
)
{
:reporter
}
scenario
'does not show stop button'
do
expect
(
page
).
not_to
have_link
(
'Stop'
)
end
end
end
end
end
end
end
end
spec/features/environments_spec.rb
View file @
ba2e7dee
...
...
@@ -84,7 +84,7 @@ feature 'Environments', feature: true, js: true do
end
scenario
'does show build name and id'
do
expect
(
page
).
to
have_link
(
"
#{
build
.
name
}
(#
#{
build
.
id
}
)
"
)
expect
(
page
).
to
have_link
(
"
#{
build
.
name
}
#
#{
build
.
id
}
"
)
end
scenario
'does not show stop button'
do
...
...
@@ -114,7 +114,7 @@ feature 'Environments', feature: true, js: true do
end
scenario
'starts build when stop button clicked'
do
first
(
'.stop-env-link'
).
click
page
.
find
(
'.stop-env-link'
).
click
expect
(
page
).
to
have_content
(
'close_app'
)
end
...
...
@@ -136,100 +136,6 @@ feature 'Environments', feature: true, js: true do
end
end
describe
'when showing the environment'
do
given
(
:environment
)
{
create
(
:environment
,
project:
project
)
}
given!
(
:deployment
)
{
}
given!
(
:manual
)
{
}
before
do
visit
namespace_project_environment_path
(
project
.
namespace
,
project
,
environment
)
end
context
'without deployments'
do
scenario
'does show no deployments'
do
expect
(
page
).
to
have_content
(
'You don\'t have any deployments right now.'
)
end
end
context
'with deployments'
do
given
(
:deployment
)
{
create
(
:deployment
,
environment:
environment
)
}
scenario
'does show deployment SHA'
do
expect
(
page
).
to
have_link
(
deployment
.
short_sha
)
end
scenario
'does not show a re-deploy button for deployment without build'
do
expect
(
page
).
not_to
have_link
(
'Re-deploy'
)
end
context
'with build'
do
given
(
:pipeline
)
{
create
(
:ci_pipeline
,
project:
project
)
}
given
(
:build
)
{
create
(
:ci_build
,
pipeline:
pipeline
)
}
given
(
:deployment
)
{
create
(
:deployment
,
environment:
environment
,
deployable:
build
)
}
scenario
'does show build name'
do
expect
(
page
).
to
have_link
(
"
#{
build
.
name
}
(#
#{
build
.
id
}
)"
)
end
scenario
'does show re-deploy button'
do
expect
(
page
).
to
have_link
(
'Re-deploy'
)
end
scenario
'does not show stop button'
do
expect
(
page
).
not_to
have_link
(
'Stop'
)
end
context
'with manual action'
do
given
(
:manual
)
{
create
(
:ci_build
,
:manual
,
pipeline:
pipeline
,
name:
'deploy to production'
)
}
scenario
'does show a play button'
do
expect
(
page
).
to
have_link
(
manual
.
name
.
humanize
)
end
scenario
'does allow to play manual action'
do
expect
(
manual
).
to
be_skipped
expect
{
click_link
(
manual
.
name
.
humanize
)
}.
not_to
change
{
Ci
::
Pipeline
.
count
}
expect
(
page
).
to
have_content
(
manual
.
name
)
expect
(
manual
.
reload
).
to
be_pending
end
context
'with external_url'
do
given
(
:environment
)
{
create
(
:environment
,
project:
project
,
external_url:
'https://git.gitlab.com'
)
}
given
(
:build
)
{
create
(
:ci_build
,
pipeline:
pipeline
)
}
given
(
:deployment
)
{
create
(
:deployment
,
environment:
environment
,
deployable:
build
)
}
scenario
'does show an external link button'
do
expect
(
page
).
to
have_link
(
nil
,
href:
environment
.
external_url
)
end
end
context
'with stop action'
do
given
(
:manual
)
{
create
(
:ci_build
,
:manual
,
pipeline:
pipeline
,
name:
'close_app'
)
}
given
(
:deployment
)
{
create
(
:deployment
,
environment:
environment
,
deployable:
build
,
on_stop:
'close_app'
)
}
scenario
'does show stop button'
do
expect
(
page
).
to
have_link
(
'Stop'
)
end
scenario
'does allow to stop environment'
do
click_link
(
'Stop'
)
expect
(
page
).
to
have_content
(
'close_app'
)
end
context
'for reporter'
do
let
(
:role
)
{
:reporter
}
scenario
'does not show stop button'
do
expect
(
page
).
not_to
have_link
(
'Stop'
)
end
end
end
end
end
end
end
describe
'when creating a new environment'
do
before
do
visit
namespace_project_environments_path
(
project
.
namespace
,
project
)
...
...
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