summaryrefslogtreecommitdiff
path: root/spec/helpers/environment_helper_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/helpers/environment_helper_spec.rb')
-rw-r--r--spec/helpers/environment_helper_spec.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/helpers/environment_helper_spec.rb b/spec/helpers/environment_helper_spec.rb
index 8c542ca01f4..0eecae32cc1 100644
--- a/spec/helpers/environment_helper_spec.rb
+++ b/spec/helpers/environment_helper_spec.rb
@@ -22,4 +22,41 @@ RSpec.describe EnvironmentHelper do
end
end
end
+
+ describe '#environments_detail_data_json' do
+ subject { helper.environments_detail_data_json(user, project, environment) }
+
+ let_it_be(:auto_stop_at) { Time.now.utc }
+ let_it_be(:user) { create(:user) }
+ let_it_be(:project, reload: true) { create(:project, :repository) }
+ let_it_be(:environment) { create(:environment, project: project, auto_stop_at: auto_stop_at) }
+
+ before do
+ allow(helper).to receive(:current_user).and_return(user)
+ allow(helper).to receive(:can?).and_return(true)
+ end
+
+ it 'returns the correct data' do
+ expect(subject).to eq({
+ name: environment.name,
+ id: environment.id,
+ external_url: environment.external_url,
+ can_update_environment: true,
+ can_destroy_environment: true,
+ can_read_environment: true,
+ can_stop_environment: true,
+ can_admin_environment: true,
+ environment_metrics_path: environment_metrics_path(environment),
+ environments_fetch_path: project_environments_path(project, format: :json),
+ environment_edit_path: edit_project_environment_path(project, environment),
+ environment_stop_path: stop_project_environment_path(project, environment),
+ environment_delete_path: environment_delete_path(environment),
+ environment_cancel_auto_stop_path: cancel_auto_stop_project_environment_path(project, environment),
+ environment_terminal_path: terminal_project_environment_path(project, environment),
+ has_terminals: false,
+ is_environment_available: true,
+ auto_stop_at: auto_stop_at
+ }.to_json)
+ end
+ end
end