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
6cbc982c
Commit
6cbc982c
authored
6 years ago
by
Thong Kuah
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add failing feature spec
That shows that we cannot create a new group cluster
parent
7cb0dd98
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
126 additions
and
0 deletions
+126
-0
spec/features/groups/clusters/user_spec.rb
spec/features/groups/clusters/user_spec.rb
+126
-0
No files found.
spec/features/groups/clusters/user_spec.rb
0 → 100644
View file @
6cbc982c
# frozen_string_literal: true
require
'spec_helper'
describe
'User Cluster'
,
:js
do
include
GoogleApi
::
CloudPlatformHelpers
let
(
:group
)
{
create
(
:group
)
}
let
(
:user
)
{
create
(
:user
)
}
before
do
group
.
add_maintainer
(
user
)
gitlab_sign_in
(
user
)
allow
(
Groups
::
ClustersController
).
to
receive
(
:STATUS_POLLING_INTERVAL
)
{
100
}
allow_any_instance_of
(
Clusters
::
Gcp
::
Kubernetes
::
CreateOrUpdateNamespaceService
).
to
receive
(
:execute
)
end
context
'when user does not have a cluster and visits cluster index page'
do
before
do
visit
group_clusters_path
(
group
)
click_link
'Add Kubernetes cluster'
click_link
'Add existing cluster'
end
context
'when user filled form with valid parameters'
do
shared_examples
'valid cluster user form'
do
it
'user sees a cluster details page'
do
subject
expect
(
page
).
to
have_content
(
'Kubernetes cluster integration'
)
expect
(
page
.
find_field
(
'cluster[name]'
).
value
).
to
eq
(
'dev-cluster'
)
expect
(
page
.
find_field
(
'cluster[platform_kubernetes_attributes][api_url]'
).
value
)
.
to
have_content
(
'http://example.com'
)
expect
(
page
.
find_field
(
'cluster[platform_kubernetes_attributes][token]'
).
value
)
.
to
have_content
(
'my-token'
)
end
end
before
do
fill_in
'cluster_name'
,
with:
'dev-cluster'
fill_in
'cluster_platform_kubernetes_attributes_api_url'
,
with:
'http://example.com'
fill_in
'cluster_platform_kubernetes_attributes_token'
,
with:
'my-token'
end
subject
{
click_button
'Add Kubernetes cluster'
}
it_behaves_like
'valid cluster user form'
context
'RBAC is enabled for the cluster'
do
before
do
check
'cluster_platform_kubernetes_attributes_authorization_type'
end
it_behaves_like
'valid cluster user form'
it
'user sees a cluster details page with RBAC enabled'
do
subject
expect
(
page
.
find_field
(
'cluster[platform_kubernetes_attributes][authorization_type]'
,
disabled:
true
)).
to
be_checked
end
end
end
context
'when user filled form with invalid parameters'
do
before
do
click_button
'Add Kubernetes cluster'
end
it
'user sees a validation error'
do
expect
(
page
).
to
have_css
(
'#error_explanation'
)
end
end
end
context
'when user does have a cluster and visits cluster page'
do
let
(
:cluster
)
{
create
(
:cluster
,
:provided_by_user
,
cluster_type: :group_type
,
groups:
[
group
])
}
before
do
visit
group_cluster_path
(
group
,
cluster
)
end
it
'user sees a cluster details page'
do
expect
(
page
).
to
have_button
(
'Save changes'
)
end
context
'when user disables the cluster'
do
before
do
page
.
find
(
:css
,
'.js-cluster-enable-toggle-area .js-project-feature-toggle'
).
click
page
.
within
(
'#cluster-integration'
)
{
click_button
'Save changes'
}
end
it
'user sees the successful message'
do
expect
(
page
).
to
have_content
(
'Kubernetes cluster was successfully updated.'
)
end
end
context
'when user changes cluster parameters'
do
before
do
fill_in
'cluster_name'
,
with:
'my-dev-cluster'
fill_in
'cluster_platform_kubernetes_attributes_token'
,
with:
'new-token'
page
.
within
(
'#js-cluster-details'
)
{
click_button
'Save changes'
}
end
it
'user sees the successful message'
do
expect
(
page
).
to
have_content
(
'Kubernetes cluster was successfully updated.'
)
expect
(
cluster
.
reload
.
name
).
to
eq
(
'my-dev-cluster'
)
expect
(
cluster
.
reload
.
platform_kubernetes
.
token
).
to
eq
(
'new-token'
)
end
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
(
'Kubernetes cluster integration was successfully removed.'
)
expect
(
page
).
to
have_link
(
'Add Kubernetes cluster'
)
end
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