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
1
Merge Requests
1
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
nexedi
gitlab-ce
Commits
614c0e0b
Commit
614c0e0b
authored
7 years ago
by
Matija Čupić
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update GCP feature spec with check page flow
parent
886fd13f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
86 additions
and
67 deletions
+86
-67
spec/features/projects/clusters/gcp_spec.rb
spec/features/projects/clusters/gcp_spec.rb
+86
-67
No files found.
spec/features/projects/clusters/gcp_spec.rb
View file @
614c0e0b
...
...
@@ -20,105 +20,124 @@ feature 'Gcp Cluster', :js do
.
to
receive
(
:expires_at_in_session
).
and_return
(
1
.
hour
.
since
.
to_i
.
to_s
)
end
context
'when user
does not have a cluster and visits cluster index page
'
do
context
'when user
has a GCP project with billing enabled
'
do
before
do
visit
project_clusters_path
(
project
)
click_link
'Add cluster'
click_link
'Create on GKE'
stub_google_project_billing_status
end
context
'when user
filled form with valid parameters
'
do
context
'when user
does not have a cluster and visits cluster index page
'
do
before
do
allow_any_instance_of
(
GoogleApi
::
CloudPlatform
::
Client
)
.
to
receive
(
:projects_zones_clusters_create
)
do
OpenStruct
.
new
(
self_link:
'projects/gcp-project-12345/zones/us-central1-a/operations/ope-123'
,
status:
'RUNNING'
)
visit
project_clusters_path
(
project
)
click_link
'Add cluster'
click_link
'Create on GKE'
end
context
'when user filled form with valid parameters'
do
before
do
allow_any_instance_of
(
GoogleApi
::
CloudPlatform
::
Client
)
.
to
receive
(
:projects_zones_clusters_create
)
do
OpenStruct
.
new
(
self_link:
'projects/gcp-project-12345/zones/us-central1-a/operations/ope-123'
,
status:
'RUNNING'
)
end
allow
(
WaitForClusterCreationWorker
).
to
receive
(
:perform_in
).
and_return
(
nil
)
fill_in
'cluster_provider_gcp_attributes_gcp_project_id'
,
with:
'gcp-project-123'
fill_in
'cluster_name'
,
with:
'dev-cluster'
click_button
'Create cluster'
end
allow
(
WaitForClusterCreationWorker
).
to
receive
(
:perform_in
).
and_return
(
nil
)
it
'user sees a cluster details page and creation status'
do
expect
(
page
).
to
have_content
(
'Cluster is being created on Google Kubernetes Engine...'
)
fill_in
'cluster_provider_gcp_attributes_gcp_project_id'
,
with:
'gcp-project-123'
fill_in
'cluster_name'
,
with:
'dev-cluster'
click_button
'Create cluster'
end
Clusters
::
Cluster
.
last
.
provider
.
make_created!
it
'user sees a cluster details page and creation status'
do
e
xpect
(
page
).
to
have_content
(
'Cluster is being created on Google Kubernetes Engine...'
)
expect
(
page
).
to
have_content
(
'Cluster was successfully created on Google Kubernetes Engine'
)
e
nd
Clusters
::
Cluster
.
last
.
provider
.
make_created!
it
'user sees a error if something worng during creation'
do
expect
(
page
).
to
have_content
(
'Cluster is being created on Google Kubernetes Engine...'
)
expect
(
page
).
to
have_content
(
'Cluster was successfully created on Google Kubernetes Engine'
)
end
Clusters
::
Cluster
.
last
.
provider
.
make_errored!
(
'Something wrong!'
)
it
'user sees a error if something worng during creation'
do
expect
(
page
).
to
have_content
(
'Cluster is being created on Google Kubernetes Engine...'
)
expect
(
page
).
to
have_content
(
'Something wrong!'
)
end
end
Clusters
::
Cluster
.
last
.
provider
.
make_errored!
(
'Something wrong!'
)
context
'when user filled form with invalid parameters'
do
before
do
click_button
'Create cluster'
end
expect
(
page
).
to
have_content
(
'Something wrong!'
)
it
'user sees a validation error'
do
expect
(
page
).
to
have_css
(
'#error_explanation'
)
end
end
end
context
'when user filled form with invalid parameters'
do
context
'when user does have a cluster and visits cluster page'
do
let
(
:cluster
)
{
create
(
:cluster
,
:provided_by_gcp
,
projects:
[
project
])
}
before
do
click_button
'Create cluster'
visit
project_cluster_path
(
project
,
cluster
)
end
it
'user sees a validation error'
do
expect
(
page
).
to
have_css
(
'#error_explanation'
)
it
'user sees a cluster details page'
do
expect
(
page
).
to
have_button
(
'Save'
)
expect
(
page
.
find
(
:css
,
'.cluster-name'
).
value
).
to
eq
(
cluster
.
name
)
end
end
end
context
'when user does have a cluster and visits cluster page'
do
let
(
:cluster
)
{
create
(
:cluster
,
:provided_by_gcp
,
projects:
[
project
])
}
context
'when user disables the cluster'
do
before
do
page
.
find
(
:css
,
'.js-toggle-cluster'
).
click
click_button
'Save'
end
before
do
visit
project_cluster_path
(
project
,
cluster
)
end
it
'user sees the successful message'
do
expect
(
page
).
to
have_content
(
'Cluster was successfully updated.'
)
end
end
it
'user sees a cluster details page'
do
expect
(
page
).
to
have_button
(
'Save'
)
expect
(
page
.
find
(
:css
,
'.cluster-name'
).
value
).
to
eq
(
cluster
.
name
)
end
context
'when user changes cluster parameters'
do
before
do
fill_in
'cluster_platform_kubernetes_attributes_namespace'
,
with:
'my-namespace'
click_button
'Save changes'
end
context
'when user disables the cluster
'
do
before
do
page
.
find
(
:css
,
'.js-toggle-cluster'
).
click
click_button
'Save'
it
'user sees the successful message
'
do
expect
(
page
).
to
have_content
(
'Cluster was successfully updated.'
)
expect
(
cluster
.
reload
.
platform_kubernetes
.
namespace
).
to
eq
(
'my-namespace'
)
end
end
it
'user sees the successful message'
do
expect
(
page
).
to
have_content
(
'Cluster was successfully updated.'
)
context
'when user destroy the cluster'
do
before
do
page
.
accept_confirm
do
click_link
'Remove integration'
end
end
it
'user sees creation form with the successful message'
do
expect
(
page
).
to
have_content
(
'Cluster integration was successfully removed.'
)
expect
(
page
).
to
have_link
(
'Add cluster'
)
end
end
end
end
context
'when user changes cluster parameters'
do
before
do
fill_in
'cluster_platform_kubernetes_attributes_namespace'
,
with:
'my-namespace'
click_button
'Save changes'
end
context
'when user does not have a GCP project with billing enabled'
do
before
do
visit
project_clusters_path
(
project
)
it
'user sees the successful message'
do
expect
(
page
).
to
have_content
(
'Cluster was successfully updated.'
)
expect
(
cluster
.
reload
.
platform_kubernetes
.
namespace
).
to
eq
(
'my-namespace'
)
end
click_link
'Add cluster'
click_link
'Create on GKE'
end
context
'when user destroy the cluster'
do
before
do
page
.
accept_confirm
do
click_link
'Remove integration'
end
end
it
'user sees creation form with the successful message'
do
expect
(
page
).
to
have_content
(
'Cluster integration was successfully removed.'
)
expect
(
page
).
to
have_link
(
'Add cluster'
)
end
it
'user sees a check page'
do
expect
(
page
).
to
have_link
(
'Continue'
)
end
end
end
...
...
This diff is collapsed.
Click to expand it.
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