@@ -465,4 +465,62 @@ def test_render_relations_stats
465
465
assert_include "<a href=\" /issues?issue_id=#{ open_issue . id } %2C#{ closed_issue . id } &set_filter=true&status_id=o\" >1 open</a>" , html
466
466
assert_include "<a href=\" /issues?issue_id=#{ open_issue . id } %2C#{ closed_issue . id } &set_filter=true&status_id=c\" >1 closed</a>" , html
467
467
end
468
+
469
+ def test_author_options_for_select_if_new_record_and_users_includes_current_user
470
+ User . current = User . find ( 2 )
471
+ issue = Issue . new ( project_id : 1 )
472
+ assignable_users = [ User . find ( 3 ) , User . find ( 2 ) ]
473
+
474
+ assert_includes assignable_users , User . current
475
+ assert_equal (
476
+ principals_options_for_select ( assignable_users , nil ) ,
477
+ author_options_for_select ( issue , issue . project ) )
478
+ end
479
+
480
+ def test_author_options_for_select_if_new_record_and_users_not_includes_current_user
481
+ User . current = User . find ( 1 )
482
+ issue = Issue . new ( project_id : 1 )
483
+ assignable_users = [ User . find ( 3 ) , User . find ( 2 ) ]
484
+ assert_not_includes assignable_users , User . current
485
+
486
+ assert_equal (
487
+ principals_options_for_select ( [ User . current ] + assignable_users , nil ) ,
488
+ author_options_for_select ( issue , issue . project ) )
489
+ end
490
+
491
+ def test_author_options_for_select_if_persisted_record_and_users_includes_author
492
+ User . current = User . find ( 2 )
493
+ issue = Issue . find ( 1 )
494
+ issue . update ( author_id : 2 )
495
+ assignable_users = [ User . find ( 3 ) , User . find ( 2 ) ]
496
+
497
+ assert_includes assignable_users , issue . author
498
+ assert_equal (
499
+ principals_options_for_select ( assignable_users , issue . author ) ,
500
+ author_options_for_select ( issue , issue . project ) )
501
+ end
502
+
503
+ def test_author_options_for_select_if_persisted_record_and_users_not_includes_author
504
+ User . current = User . find ( 2 )
505
+ issue = Issue . find ( 1 )
506
+ issue . update ( author_id : 1 )
507
+ assignable_users = [ User . find ( 3 ) , User . find ( 2 ) ]
508
+
509
+ assert_not_includes assignable_users , issue . author
510
+ assert_equal (
511
+ principals_options_for_select ( [ User . find ( 1 ) ] + assignable_users , issue . author ) ,
512
+ author_options_for_select ( issue , issue . project ) )
513
+ end
514
+
515
+ def test_author_options_for_select_if_persisted_record_and_author_is_anonymous
516
+ User . current = User . find ( 2 )
517
+ issue = Issue . find ( 1 )
518
+ issue . update ( author_id : User . anonymous . id )
519
+ assignable_users = [ User . find ( 3 ) , User . find ( 2 ) ]
520
+
521
+ assert_not_includes assignable_users , issue . author
522
+ assert_equal (
523
+ principals_options_for_select ( [ User . anonymous ] + assignable_users , issue . author ) ,
524
+ author_options_for_select ( issue , issue . project ) )
525
+ end
468
526
end
0 commit comments