foreman-tasks 0.17.4 → 0.17.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d2cab32dfa0f863a101a5d4e6edfe28bc25c5f76c4fac5718856de5a7a4c489
4
- data.tar.gz: 1ecc4c1acc4f1b02a7915602a6248b0b0523ff678f60e7d2b51020c3182996a4
3
+ metadata.gz: 643cb1c2534982870c1596b11ae870ac9b2ae0bd044a7a8478860bc81cb3ef6f
4
+ data.tar.gz: 8af310f891f2a938f687ddb0cbc8f6bc1a0aa89b2c81302e544c20b113bc4979
5
5
  SHA512:
6
- metadata.gz: a6e35951542561fa3adff4efd4e92f519b0d4b723599d587bcb29b0575f1f46aa941c76500b91c71749478888615f0eacd4e11a1f170e92cd06a2dbdf7733ae3
7
- data.tar.gz: bad6ba1e5959c8b8ab28e4461f36e0a1294bfc286c333b60e575ae7c2df12a92a8ebaabb27a5843012f4378bf64687b1d26f9f7ea7ec3b6347d0c3c8985d38d0
6
+ metadata.gz: 1695ffe92d34e48a3d06120aff778d46f3b522203b603421260eb86bb3368af5d3ec3b159168bcd0e14b309eb222512511921ce5c9a2af8ddcb727a15e234e64
7
+ data.tar.gz: 874641b33c524355abca31cf1d9016ff02ab51bf72a8efdc7893e1ec66baf0aab749c18f5f73723d87b44efd848dac45813beb4e2c7e8a4bd49f5ad593b9dac8
@@ -238,9 +238,10 @@ module ForemanTasks
238
238
 
239
239
  def ordering_scope(scope, ordering_params)
240
240
  sort_by = ordering_params[:sort_by] || 'started_at'
241
+ sort_by = 'foreman_tasks_tasks.' + sort_by if sort_by == 'started_at'
241
242
  sort_order = ordering_params[:sort_order] || 'DESC'
242
243
  scope = scope.select("*, coalesce(ended_at, current_timestamp) - coalesce(coalesce(started_at, ended_at), current_timestamp) as duration")
243
- scope.order(sort_by => sort_order)
244
+ scope.order("#{sort_by} #{sort_order}")
244
245
  end
245
246
 
246
247
  def task_hash(task)
@@ -1,3 +1,3 @@
1
1
  module ForemanTasks
2
- VERSION = '0.17.4'.freeze
2
+ VERSION = '0.17.5'.freeze
3
3
  end
@@ -12,8 +12,8 @@ module ForemanTasks
12
12
  end
13
13
 
14
14
  describe 'GET /api/tasks' do
15
+ before { FactoryBot.create_list(:dynflow_task, 5, :user_create_task) }
15
16
  it 'lists all tasks with default sorting' do
16
- FactoryBot.create_list(:dynflow_task, 5, :user_create_task)
17
17
  get :index
18
18
  assert_response :success
19
19
  data = JSON.parse(response.body)
@@ -21,12 +21,19 @@ module ForemanTasks
21
21
  end
22
22
 
23
23
  it 'supports searching' do
24
- FactoryBot.create_list(:dynflow_task, 5, :user_create_task)
25
24
  get :index, params: { :search => 'label = Actions::User::Create' }
26
25
  assert_response :success
27
26
  data = JSON.parse(response.body)
28
27
  _(data['results'].count).must_equal 5
29
28
  end
29
+
30
+ it 'supports ordering by duration' do
31
+ get :index, params: { :sort_by => 'duration' }
32
+ assert_response :success
33
+ data = JSON.parse(response.body)
34
+ _(data.dig('sort', 'by')).must_equal 'duration'
35
+ _(data['results'].count).must_equal 5
36
+ end
30
37
  end
31
38
 
32
39
  describe 'GET /api/tasks/show' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.4
4
+ version: 0.17.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Nečas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-05 00:00:00.000000000 Z
11
+ date: 2019-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: foreman-tasks-core