end
end
- def test_update_keywords_with_multiple_rules_should_match_tracker
+ def test_update_keywords_with_multiple_rules_for_the_same_keyword_should_match_tracker
with_settings :commit_update_keywords => [
{'keywords' => 'fixes', 'status_id' => '5', 'if_tracker_id' => '2'},
{'keywords' => 'fixes', 'status_id' => '3', 'if_tracker_id' => ''}
end
end
+ def test_update_keywords_with_multiple_rules_for_the_same_tracker_should_match_keyword
+ with_settings :commit_update_keywords => [
+ {'keywords' => 'Fixes, Closes', 'status_id' => '5', 'done_ratio' => '100', 'if_tracker_id' => '2'},
+ {'keywords' => 'Testing', 'status_id' => '3', 'done_ratio' => '90', 'if_tracker_id' => '2'}
+ ] do
+
+ issue1 = Issue.generate!(:tracker_id => 2)
+ issue2 = Issue.generate!(:tracker_id => 2)
+ Changeset.generate!(:comments => "Testing ##{issue1.id}, Fixes ##{issue2.id}")
+ issue1.reload
+ assert_equal 3, issue1.status_id
+ assert_equal 90, issue1.done_ratio
+ issue2.reload
+ assert_equal 5, issue2.status_id
+ assert_equal 100, issue2.done_ratio
+ end
+ end
+
def test_update_keywords_with_multiple_rules_and_no_match
with_settings :commit_update_keywords => [
{'keywords' => 'fixes', 'status_id' => '5', 'if_tracker_id' => '2'},