summaryrefslogtreecommitdiffstats
path: root/test/integration/api_test/time_entries_test.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2013-05-18 08:57:27 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2013-05-18 08:57:27 +0000
commit8f7b69f77e7f92d3b81c0fbd9a0a70169b4d21e9 (patch)
tree31d2955a3ce8d0e02d6327e916cdfd261fdb9081 /test/integration/api_test/time_entries_test.rb
parent0d4bb7558fdc955e07b69cd4015f2ecb3b5803c7 (diff)
downloadredmine-8f7b69f77e7f92d3b81c0fbd9a0a70169b4d21e9.tar.gz
redmine-8f7b69f77e7f92d3b81c0fbd9a0a70169b4d21e9.zip
Removed some shoulda context.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11863 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/integration/api_test/time_entries_test.rb')
-rw-r--r--test/integration/api_test/time_entries_test.rb196
1 files changed, 87 insertions, 109 deletions
diff --git a/test/integration/api_test/time_entries_test.rb b/test/integration/api_test/time_entries_test.rb
index 4c87a57b6..6d77f0c81 100644
--- a/test/integration/api_test/time_entries_test.rb
+++ b/test/integration/api_test/time_entries_test.rb
@@ -31,134 +31,112 @@ class Redmine::ApiTest::TimeEntriesTest < Redmine::ApiTest::Base
Setting.rest_api_enabled = '1'
end
- context "GET /time_entries.xml" do
- should "return time entries" do
- get '/time_entries.xml', {}, credentials('jsmith')
- assert_response :success
- assert_equal 'application/xml', @response.content_type
- assert_tag :tag => 'time_entries',
- :child => {:tag => 'time_entry', :child => {:tag => 'id', :content => '2'}}
- end
+ test "GET /time_entries.xml should return time entries" do
+ get '/time_entries.xml', {}, credentials('jsmith')
+ assert_response :success
+ assert_equal 'application/xml', @response.content_type
+ assert_tag :tag => 'time_entries',
+ :child => {:tag => 'time_entry', :child => {:tag => 'id', :content => '2'}}
+ end
- context "with limit" do
- should "return limited results" do
- get '/time_entries.xml?limit=2', {}, credentials('jsmith')
- assert_response :success
- assert_equal 'application/xml', @response.content_type
- assert_tag :tag => 'time_entries',
- :children => {:count => 2}
- end
- end
+ test "GET /time_entries.xml with limit should return limited results" do
+ get '/time_entries.xml?limit=2', {}, credentials('jsmith')
+ assert_response :success
+ assert_equal 'application/xml', @response.content_type
+ assert_tag :tag => 'time_entries',
+ :children => {:count => 2}
end
- context "GET /time_entries/2.xml" do
- should "return requested time entry" do
- get '/time_entries/2.xml', {}, credentials('jsmith')
- assert_response :success
- assert_equal 'application/xml', @response.content_type
- assert_tag :tag => 'time_entry',
- :child => {:tag => 'id', :content => '2'}
- end
+ test "GET /time_entries/:id.xml should return the time entry" do
+ get '/time_entries/2.xml', {}, credentials('jsmith')
+ assert_response :success
+ assert_equal 'application/xml', @response.content_type
+ assert_tag :tag => 'time_entry',
+ :child => {:tag => 'id', :content => '2'}
end
- context "POST /time_entries.xml" do
- context "with issue_id" do
- should "return create time entry" do
- assert_difference 'TimeEntry.count' do
- post '/time_entries.xml', {:time_entry => {:issue_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11'}}, credentials('jsmith')
- end
- assert_response :created
- assert_equal 'application/xml', @response.content_type
-
- entry = TimeEntry.first(:order => 'id DESC')
- assert_equal 'jsmith', entry.user.login
- assert_equal Issue.find(1), entry.issue
- assert_equal Project.find(1), entry.project
- assert_equal Date.parse('2010-12-02'), entry.spent_on
- assert_equal 3.5, entry.hours
- assert_equal TimeEntryActivity.find(11), entry.activity
- end
-
- should "accept custom fields" do
- field = TimeEntryCustomField.create!(:name => 'Test', :field_format => 'string')
-
- assert_difference 'TimeEntry.count' do
- post '/time_entries.xml', {:time_entry => {
- :issue_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11', :custom_fields => [{:id => field.id.to_s, :value => 'accepted'}]
- }}, credentials('jsmith')
- end
- assert_response :created
- assert_equal 'application/xml', @response.content_type
-
- entry = TimeEntry.first(:order => 'id DESC')
- assert_equal 'accepted', entry.custom_field_value(field)
- end
+ test "POST /time_entries.xml with issue_id should create time entry" do
+ assert_difference 'TimeEntry.count' do
+ post '/time_entries.xml', {:time_entry => {:issue_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11'}}, credentials('jsmith')
end
+ assert_response :created
+ assert_equal 'application/xml', @response.content_type
+
+ entry = TimeEntry.first(:order => 'id DESC')
+ assert_equal 'jsmith', entry.user.login
+ assert_equal Issue.find(1), entry.issue
+ assert_equal Project.find(1), entry.project
+ assert_equal Date.parse('2010-12-02'), entry.spent_on
+ assert_equal 3.5, entry.hours
+ assert_equal TimeEntryActivity.find(11), entry.activity
+ end
+
+ test "POST /time_entries.xml with issue_id should accept custom fields" do
+ field = TimeEntryCustomField.create!(:name => 'Test', :field_format => 'string')
- context "with project_id" do
- should "return create time entry" do
- assert_difference 'TimeEntry.count' do
- post '/time_entries.xml', {:time_entry => {:project_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11'}}, credentials('jsmith')
- end
- assert_response :created
- assert_equal 'application/xml', @response.content_type
-
- entry = TimeEntry.first(:order => 'id DESC')
- assert_equal 'jsmith', entry.user.login
- assert_nil entry.issue
- assert_equal Project.find(1), entry.project
- assert_equal Date.parse('2010-12-02'), entry.spent_on
- assert_equal 3.5, entry.hours
- assert_equal TimeEntryActivity.find(11), entry.activity
- end
+ assert_difference 'TimeEntry.count' do
+ post '/time_entries.xml', {:time_entry => {
+ :issue_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11', :custom_fields => [{:id => field.id.to_s, :value => 'accepted'}]
+ }}, credentials('jsmith')
end
+ assert_response :created
+ assert_equal 'application/xml', @response.content_type
- context "with invalid parameters" do
- should "return errors" do
- assert_no_difference 'TimeEntry.count' do
- post '/time_entries.xml', {:time_entry => {:project_id => '1', :spent_on => '2010-12-02', :activity_id => '11'}}, credentials('jsmith')
- end
- assert_response :unprocessable_entity
- assert_equal 'application/xml', @response.content_type
+ entry = TimeEntry.first(:order => 'id DESC')
+ assert_equal 'accepted', entry.custom_field_value(field)
+ end
- assert_tag 'errors', :child => {:tag => 'error', :content => "Hours can't be blank"}
- end
+ test "POST /time_entries.xml with project_id should create time entry" do
+ assert_difference 'TimeEntry.count' do
+ post '/time_entries.xml', {:time_entry => {:project_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11'}}, credentials('jsmith')
end
+ assert_response :created
+ assert_equal 'application/xml', @response.content_type
+
+ entry = TimeEntry.first(:order => 'id DESC')
+ assert_equal 'jsmith', entry.user.login
+ assert_nil entry.issue
+ assert_equal Project.find(1), entry.project
+ assert_equal Date.parse('2010-12-02'), entry.spent_on
+ assert_equal 3.5, entry.hours
+ assert_equal TimeEntryActivity.find(11), entry.activity
end
- context "PUT /time_entries/2.xml" do
- context "with valid parameters" do
- should "update time entry" do
- assert_no_difference 'TimeEntry.count' do
- put '/time_entries/2.xml', {:time_entry => {:comments => 'API Update'}}, credentials('jsmith')
- end
- assert_response :ok
- assert_equal '', @response.body
- assert_equal 'API Update', TimeEntry.find(2).comments
- end
+ test "POST /time_entries.xml with invalid parameters should return errors" do
+ assert_no_difference 'TimeEntry.count' do
+ post '/time_entries.xml', {:time_entry => {:project_id => '1', :spent_on => '2010-12-02', :activity_id => '11'}}, credentials('jsmith')
end
+ assert_response :unprocessable_entity
+ assert_equal 'application/xml', @response.content_type
+
+ assert_tag 'errors', :child => {:tag => 'error', :content => "Hours can't be blank"}
+ end
- context "with invalid parameters" do
- should "return errors" do
- assert_no_difference 'TimeEntry.count' do
- put '/time_entries/2.xml', {:time_entry => {:hours => '', :comments => 'API Update'}}, credentials('jsmith')
- end
- assert_response :unprocessable_entity
- assert_equal 'application/xml', @response.content_type
+ test "PUT /time_entries/:id.xml with valid parameters should update time entry" do
+ assert_no_difference 'TimeEntry.count' do
+ put '/time_entries/2.xml', {:time_entry => {:comments => 'API Update'}}, credentials('jsmith')
+ end
+ assert_response :ok
+ assert_equal '', @response.body
+ assert_equal 'API Update', TimeEntry.find(2).comments
+ end
- assert_tag 'errors', :child => {:tag => 'error', :content => "Hours can't be blank"}
- end
+ test "PUT /time_entries/:id.xml with invalid parameters should return errors" do
+ assert_no_difference 'TimeEntry.count' do
+ put '/time_entries/2.xml', {:time_entry => {:hours => '', :comments => 'API Update'}}, credentials('jsmith')
end
+ assert_response :unprocessable_entity
+ assert_equal 'application/xml', @response.content_type
+
+ assert_tag 'errors', :child => {:tag => 'error', :content => "Hours can't be blank"}
end
- context "DELETE /time_entries/2.xml" do
- should "destroy time entry" do
- assert_difference 'TimeEntry.count', -1 do
- delete '/time_entries/2.xml', {}, credentials('jsmith')
- end
- assert_response :ok
- assert_equal '', @response.body
- assert_nil TimeEntry.find_by_id(2)
+ test "DELETE /time_entries/:id.xml should destroy time entry" do
+ assert_difference 'TimeEntry.count', -1 do
+ delete '/time_entries/2.xml', {}, credentials('jsmith')
end
+ assert_response :ok
+ assert_equal '', @response.body
+ assert_nil TimeEntry.find_by_id(2)
end
end