@@ -134,18 +134,18 @@ def test_event_group_for_wiki_content_version
134134
135135 def test_activity_contains_issue_status_update_events
136136 issue = Issue . generate! ( :status_id => 1 )
137-
137+
138138 events = find_events ( User . anonymous , :project => @project )
139139 target_issue_events = events . find_all { |event | event == issue || ( event . is_a? ( Journal ) && event . issue == issue ) }
140140 target_issue_events . sort! { |x , y | x . event_datetime <=> y . event_datetime }
141141 event_titles = target_issue_events . map { |e | e . event_title }
142142 assert_equal ( "Bug ##{ issue . id } (New): Generated" , event_titles [ 0 ] , "event title should includes (New)" )
143-
143+
144144 issue = Issue . find ( issue . id )
145- issue . init_journal ( User . first , "Assign" )
145+ issue . init_journal ( User . first )
146146 issue . status_id = 2
147147 assert issue . save
148-
148+
149149 events = find_events ( User . anonymous , :project => @project )
150150 target_issue_events = events . find_all { |event | event == issue || ( event . is_a? ( Journal ) && event . issue == issue ) }
151151 target_issue_events . sort! { |x , y | x . event_datetime <=> y . event_datetime }
@@ -154,7 +154,7 @@ def test_activity_contains_issue_status_update_events
154154 assert_equal ( "Bug ##{ issue . id } (Assigned): Generated" , event_titles [ 1 ] , "event title should includes (Assinged)" )
155155
156156 issue = Issue . find ( issue . id )
157- issue . init_journal ( User . first , "Resolve" )
157+ issue . init_journal ( User . first )
158158 issue . status_id = 3
159159 assert issue . save
160160
@@ -165,9 +165,68 @@ def test_activity_contains_issue_status_update_events
165165 assert_equal ( "Bug ##{ issue . id } (New): Generated" , event_titles [ 0 ] , "event title should includes (New)" )
166166 assert_equal ( "Bug ##{ issue . id } (Assigned): Generated" , event_titles [ 1 ] , "event title should includes (Assinged)" )
167167 assert_equal ( "Bug ##{ issue . id } (Resolved): Generated" , event_titles [ 2 ] , "event title should includes (Resolved)" )
168-
169168 end
170169
170+ def test_activity_contains_issue_status_update_events2
171+ # ステータス以外(サブジェクト)を変更後、ステータスを変更する
172+ # ステータス以外(サブジェクト)とステータスを一度に変更する
173+
174+ issue = Issue . generate! ( :status_id => 1 , :subject => "Generated" )
175+
176+ issue = Issue . find ( issue . id )
177+ issue . init_journal ( User . first )
178+ issue . subject = "Activity test"
179+ assert issue . save
180+
181+ issue = Issue . find ( issue . id )
182+ issue . init_journal ( User . first )
183+ issue . status_id = 3
184+ assert issue . save
185+
186+ events = find_events ( User . anonymous , :project => @project )
187+ target_issue_events = events . find_all { |event | event == issue || ( event . is_a? ( Journal ) && event . issue == issue ) }
188+ target_issue_events . sort! { |x , y | x . event_datetime <=> y . event_datetime }
189+ event_titles = target_issue_events . map { |e | e . event_title }
190+ assert_equal ( "Bug ##{ issue . id } (New): Activity test" , event_titles [ 0 ] , "event title should includes (New)" )
191+ assert_equal ( "Bug ##{ issue . id } (Resolved): Activity test" , event_titles [ 1 ] , "event title should includes (Resolved)" )
192+
193+ issue = Issue . find ( issue . id )
194+ issue . init_journal ( User . first , "Close" )
195+ issue . subject = "Closing test"
196+ issue . status_id = 5
197+ assert issue . save
198+
199+ events = find_events ( User . anonymous , :project => @project )
200+ target_issue_events = events . find_all { |event | event == issue || ( event . is_a? ( Journal ) && event . issue == issue ) }
201+ target_issue_events . sort! { |x , y | x . event_datetime <=> y . event_datetime }
202+ event_titles = target_issue_events . map { |e | e . event_title }
203+ assert_equal ( "Bug ##{ issue . id } (New): Closing test" , event_titles [ 0 ] , "event title should includes (New)" )
204+ assert_equal ( "Bug ##{ issue . id } (Resolved): Closing test" , event_titles [ 1 ] , "event title should includes (Resolved)" )
205+ assert_equal ( "Bug ##{ issue . id } (Closed): Closing test" , event_titles [ 2 ] , "event title should includes (Closed)" )
206+ end
207+
208+ def test_activity_contains_issue_status_update_events3
209+ # コメントを追記後、ステータスを変更する
210+ issue = Issue . generate! ( :status_id => 1 , :subject => "Generated" )
211+
212+ issue = Issue . find ( issue . id )
213+ issue . init_journal ( User . first , "note" )
214+ assert issue . save
215+
216+ issue = Issue . find ( issue . id )
217+ issue . init_journal ( User . first )
218+ issue . status_id = 3
219+ assert issue . save
220+
221+ events = find_events ( User . anonymous , :project => @project )
222+ target_issue_events = events . find_all { |event | event == issue || ( event . is_a? ( Journal ) && event . issue == issue ) }
223+ target_issue_events . sort! { |x , y | x . event_datetime <=> y . event_datetime }
224+ event_titles = target_issue_events . map { |e | e . event_title }
225+ assert_equal ( "Bug ##{ issue . id } (New): Generated" , event_titles [ 0 ] , "event title should includes (New)" )
226+ assert_equal ( "Bug ##{ issue . id } : Generated" , event_titles [ 1 ] , "event title should not include status" )
227+ assert_equal ( "Bug ##{ issue . id } (Resolved): Generated" , event_titles [ 2 ] , "event title should includes (Resolved)" )
228+ end
229+
171230 class TestActivityProviderWithPermission
172231 def self . activity_provider_options
173232 { 'test' => { :permission => :custom_permission } }
0 commit comments