summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-10-17 11:41:55 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-10-17 11:41:55 +0200
commit7aea16b64624eb681a1c134759a8f4fa1e5b2a78 (patch)
treee7d3ace27ad66aa725084922bb69db9dae666590
parentdb9c03bf4426346c631a6cd366a84626ead8d6e3 (diff)
parent7d12683de51721e75b314b29272f4f024f7f0655 (diff)
downloadgitlab-ce-7aea16b64624eb681a1c134759a8f4fa1e5b2a78.tar.gz
Merge commit '7d12683' into 22191-delete-dynamic-envs-mr [ci skip]
-rw-r--r--spec/features/environments_spec.rb62
-rw-r--r--spec/features/merge_requests/merge_when_build_succeeds_spec.rb9
2 files changed, 68 insertions, 3 deletions
diff --git a/spec/features/environments_spec.rb b/spec/features/environments_spec.rb
index d0968b3e595..35f5706f920 100644
--- a/spec/features/environments_spec.rb
+++ b/spec/features/environments_spec.rb
@@ -18,11 +18,26 @@ feature 'Environments', feature: true do
before do
visit namespace_project_environments_path(project.namespace, project)
end
+
+ context 'shows two tabs' do
+ scenario 'does show Available tab with link' do
+ expect(page).to have_link('Available')
+ end
+
+ scenario 'does show Stopped tab with link' do
+ expect(page).to have_link('Stopped')
+ end
+ end
context 'without environments' do
scenario 'does show no environments' do
expect(page).to have_content('You don\'t have any environments right now.')
end
+
+ scenario 'does show 0 as counter for environments in both tabs' do
+ expect(page.find('.js-avaibale-environments-count').text).to eq('0')
+ expect(page.find('.js-stopped-environments-count').text).to eq('0')
+ end
end
context 'with environments' do
@@ -31,6 +46,14 @@ feature 'Environments', feature: true do
scenario 'does show environment name' do
expect(page).to have_link(environment.name)
end
+
+ scenario 'does show number of opened environments in Availabe tab' do
+ expect(page.find('.js-avaibale-environments-count').text).to eq('1')
+ end
+
+ scenario 'does show number of closed environments in Stopped tab' do
+ expect(page.find('.js-stopped-environments-count').text).to eq('0')
+ end
context 'without deployments' do
scenario 'does show no deployments' do
@@ -79,6 +102,16 @@ feature 'Environments', feature: true do
expect(page).to have_link(nil, href: environment.external_url)
end
end
+
+ scenario 'does show close button' do
+ # TODO: Add test to verify if close button is visible
+ # This needs to be true: if local_assigns.fetch(:allow_close, false) && deployment.closeable?
+ end
+
+ scenario 'does allow to close environment' do
+ # TODO: Add test to verify if close environment works
+ # This needs to be true: if local_assigns.fetch(:allow_close, false) && deployment.closeable?
+ end
end
end
end
@@ -150,6 +183,16 @@ feature 'Environments', feature: true do
expect(page).to have_link(nil, href: environment.external_url)
end
end
+
+ scenario 'does show close button' do
+ # TODO: Add test to verify if close button is visible
+ # This needs to be true: if local_assigns.fetch(:allow_close, false) && deployment.closeable?
+ end
+
+ scenario 'does allow to close environment' do
+ # TODO: Add test to verify if close environment works
+ # This needs to be true: if local_assigns.fetch(:allow_close, false) && deployment.closeable?
+ end
end
end
end
@@ -207,9 +250,22 @@ feature 'Environments', feature: true do
context 'when logged as master' do
given(:role) { :master }
- scenario 'does close environment' do
- click_link 'Close'
- expect(page).not_to have_link(environment.name)
+ scenario 'does not have a Close link' do
+ expect(page).not_to have_link('Close')
+ end
+
+ context 'when environment is opened and can be closed' do
+ let(:project) { create(:project) }
+ let(:environment) { create(:environment, project: project) }
+
+ let!(:deployment) do
+ create(:deployment, environment: environment, sha: project.commit('master').id)
+ end
+
+ scenario 'does have a Close link' do
+ # TODO: Add missing validation. In order to have Close link
+ # this must be true: last_deployment.try(:close_action)
+ end
end
end
diff --git a/spec/features/merge_requests/merge_when_build_succeeds_spec.rb b/spec/features/merge_requests/merge_when_build_succeeds_spec.rb
index bc2b0ff3e2c..5d6ce6e1830 100644
--- a/spec/features/merge_requests/merge_when_build_succeeds_spec.rb
+++ b/spec/features/merge_requests/merge_when_build_succeeds_spec.rb
@@ -102,6 +102,15 @@ feature 'Merge When Build Succeeds', feature: true, js: true do
end
end
+ context 'Has Environment' do
+ let(:environment) { create(:environment, project: project) }
+
+ it 'does show link to close the environment' do
+ # TODO add test to verify if the button is visible when this condition
+ # is met: if environment.closeable?
+ end
+ end
+
def visit_merge_request(merge_request)
visit namespace_project_merge_request_path(merge_request.project.namespace, merge_request.project, merge_request)
end