]> source.dussan.org Git - redmine.git/commitdiff
Merged r16293 (#24875).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 30 Jan 2017 17:42:54 +0000 (17:42 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 30 Jan 2017 17:42:54 +0000 (17:42 +0000)
git-svn-id: http://svn.redmine.org/redmine/branches/3.3-stable@16307 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/integration/api_test/issues_test.rb

index 4bdfff1bc14b186421fdf6b97824ff09c49df585..45ec9c1262f7777d6fb71f86fd712bed1f650e0d 100644 (file)
@@ -392,6 +392,23 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base
     end
   end
 
+  test "GET /issues/:id.xml should contains visible spent_hours only" do
+    user = User.find_by_login('jsmith')
+    Role.find(1).update(:time_entries_visibility => 'own')
+    parent = Issue.find(3)
+    child = Issue.generate!(:parent_issue_id => parent.id)
+    TimeEntry.generate!(:user => user, :hours => 5.5, :issue_id => parent.id)
+    TimeEntry.generate!(:user => user, :hours => 2, :issue_id => child.id)
+    TimeEntry.generate!(:user => User.find(1), :hours => 100, :issue_id => child.id)
+    get '/issues/3.xml', {} , credentials(user.login)
+
+    assert_equal 'application/xml', response.content_type
+    assert_select 'issue' do
+      assert_select 'spent_hours',           '5.5'
+      assert_select 'total_spent_hours',     '7.5'
+    end
+  end
+
   test "GET /issues/:id.json should contains total_estimated_hours and total_spent_hours" do
     parent = Issue.find(3)
     parent.update_columns :estimated_hours => 2.0
@@ -425,6 +442,22 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base
     assert_nil json['issue']['total_spent_hours']
   end
 
+  test "GET /issues/:id.json should contains visible spent_hours only" do
+    user = User.find_by_login('jsmith')
+    Role.find(1).update(:time_entries_visibility => 'own')
+    parent = Issue.find(3)
+    child = Issue.generate!(:parent_issue_id => parent.id)
+    TimeEntry.generate!(:user => user, :hours => 5.5, :issue_id => parent.id)
+    TimeEntry.generate!(:user => user, :hours => 2, :issue_id => child.id)
+    TimeEntry.generate!(:user => User.find(1), :hours => 100, :issue_id => child.id)
+    get '/issues/3.json', {} , credentials(user.login)
+
+    assert_equal 'application/json', response.content_type
+    json = ActiveSupport::JSON.decode(response.body)
+    assert_equal 5.5, json['issue']['spent_hours']
+    assert_equal 7.5, json['issue']['total_spent_hours']
+  end
+
   test "POST /issues.xml should create an issue with the attributes" do
 
 payload = <<-XML