summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2017-05-23 10:10:54 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2017-05-23 10:10:54 +0000
commit35ab669a957dd63a5c662ba909f368380e3a60c7 (patch)
treed41ea56ca8a0b08d657d63d1a0d404654232bf8a
parentd71577468cbf54bdd2621fac5f5a62f93193d4ea (diff)
parent5c83d3aff2401aa134ec1bf23013ba9e47109b48 (diff)
downloadgitlab-ce-35ab669a957dd63a5c662ba909f368380e3a60c7.tar.gz
Merge branch 'zj-sort-env-folders' into 'master'
Sort environments folders when opening them Closes #30814 See merge request !11436
-rw-r--r--app/controllers/projects/environments_controller.rb1
-rw-r--r--changelogs/unreleased/zj-sort-env-folders.yml4
-rw-r--r--spec/controllers/projects/environments_controller_spec.rb19
3 files changed, 17 insertions, 7 deletions
diff --git a/app/controllers/projects/environments_controller.rb b/app/controllers/projects/environments_controller.rb
index fd57afbd05f..efe83776834 100644
--- a/app/controllers/projects/environments_controller.rb
+++ b/app/controllers/projects/environments_controller.rb
@@ -31,6 +31,7 @@ class Projects::EnvironmentsController < Projects::ApplicationController
def folder
folder_environments = project.environments.where(environment_type: params[:id])
@environments = folder_environments.with_state(params[:scope] || :available)
+ .order(:name)
respond_to do |format|
format.html
diff --git a/changelogs/unreleased/zj-sort-env-folders.yml b/changelogs/unreleased/zj-sort-env-folders.yml
new file mode 100644
index 00000000000..b3ca97aef94
--- /dev/null
+++ b/changelogs/unreleased/zj-sort-env-folders.yml
@@ -0,0 +1,4 @@
+---
+title: Sort folder for environments
+merge_request:
+author:
diff --git a/spec/controllers/projects/environments_controller_spec.rb b/spec/controllers/projects/environments_controller_spec.rb
index c0f8c36a018..20f99b209eb 100644
--- a/spec/controllers/projects/environments_controller_spec.rb
+++ b/spec/controllers/projects/environments_controller_spec.rb
@@ -1,25 +1,25 @@
require 'spec_helper'
describe Projects::EnvironmentsController do
- let(:user) { create(:user) }
- let(:project) { create(:empty_project) }
+ set(:user) { create(:user) }
+ set(:project) { create(:empty_project) }
- let(:environment) do
+ set(:environment) do
create(:environment, name: 'production', project: project)
end
before do
- project.team << [user, :master]
+ project.add_master(user)
sign_in(user)
end
describe 'GET index' do
- context 'when standardrequest has been made' do
+ context 'when a request for the HTML is made' do
it 'responds with status code 200' do
get :index, environment_params
- expect(response).to be_ok
+ expect(response).to have_http_status(:ok)
end
end
@@ -84,6 +84,9 @@ describe Projects::EnvironmentsController do
create(:environment, project: project,
name: 'staging-1.0/review',
state: :available)
+ create(:environment, project: project,
+ name: 'staging-1.0/zzz',
+ state: :available)
end
context 'when using default format' do
@@ -98,7 +101,7 @@ describe Projects::EnvironmentsController do
end
context 'when using JSON format' do
- it 'responds with JSON' do
+ it 'sorts the subfolders lexicographically' do
get :folder, namespace_id: project.namespace,
project_id: project,
id: 'staging-1.0',
@@ -108,6 +111,8 @@ describe Projects::EnvironmentsController do
expect(response).not_to render_template 'folder'
expect(json_response['environments'][0])
.to include('name' => 'staging-1.0/review')
+ expect(json_response['environments'][1])
+ .to include('name' => 'staging-1.0/zzz')
end
end
end