summaryrefslogtreecommitdiff
path: root/spec/models/environment_spec.rb
diff options
context:
space:
mode:
authorKrasimir Angelov <kangelov@gitlab.com>2019-08-02 09:02:05 +0300
committerKrasimir Angelov <kangelov@gitlab.com>2019-08-02 09:02:05 +0300
commitffd54f17f8fff7a659fd4ca116eabc338a5acd95 (patch)
tree2cdc7b5c61a867a88b5ce6f8c510f4327821c647 /spec/models/environment_spec.rb
parent533237a097281dbe4fb1c821d5823c4de8c8f6af (diff)
downloadgitlab-ce-27644-environment-state-created.tar.gz
Change environment intial state to created instead of available27644-environment-state-created
Because we create environments too early (and rely on this) they may not have successfull deployments yet but are mark as `available`. Introduce new `created` intitial state so that it is easier to differentiate them.
Diffstat (limited to 'spec/models/environment_spec.rb')
-rw-r--r--spec/models/environment_spec.rb25
1 files changed, 22 insertions, 3 deletions
diff --git a/spec/models/environment_spec.rb b/spec/models/environment_spec.rb
index ce0681c4331..bbe0fdada50 100644
--- a/spec/models/environment_spec.rb
+++ b/spec/models/environment_spec.rb
@@ -517,7 +517,15 @@ describe Environment, :use_clean_rails_memory_store_caching do
describe '#has_terminals?' do
subject { environment.has_terminals? }
+ context 'when the environment is created' do
+ it { is_expected.to be_falsy }
+ end
+
context 'when the environment is available' do
+ before do
+ environment.start
+ end
+
context 'with a deployment service' do
context 'when user configured kubernetes from CI/CD > Clusters' do
let!(:cluster) { create(:cluster, :project, :provided_by_gcp) }
@@ -525,6 +533,7 @@ describe Environment, :use_clean_rails_memory_store_caching do
context 'with deployment' do
let!(:deployment) { create(:deployment, :success, environment: environment) }
+
it { is_expected.to be_truthy }
end
@@ -539,7 +548,7 @@ describe Environment, :use_clean_rails_memory_store_caching do
end
end
- context 'when the environment is unavailable' do
+ context 'when the environment is stopped' do
before do
environment.stop
end
@@ -609,7 +618,7 @@ describe Environment, :use_clean_rails_memory_store_caching do
describe '#calculate_reactive_cache' do
let(:cluster) { create(:cluster, :project, :provided_by_user) }
let(:project) { cluster.project }
- let(:environment) { create(:environment, project: project) }
+ let(:environment) { create(:environment, project: project, state: :available) }
let!(:deployment) { create(:deployment, :success, environment: environment) }
subject { environment.calculate_reactive_cache }
@@ -641,7 +650,17 @@ describe Environment, :use_clean_rails_memory_store_caching do
describe '#has_metrics?' do
subject { environment.has_metrics? }
+ context 'when the environment is created' do
+ let(:project) { create(:prometheus_project) }
+
+ it { is_expected.to be_falsy }
+ end
+
context 'when the environment is available' do
+ before do
+ environment.start
+ end
+
context 'with a deployment service' do
let(:project) { create(:prometheus_project) }
@@ -660,7 +679,7 @@ describe Environment, :use_clean_rails_memory_store_caching do
end
end
- context 'when the environment is unavailable' do
+ context 'when the environment is stopped' do
let(:project) { create(:prometheus_project) }
before do