@@ -1025,81 +1025,50 class QueryTest < ActiveSupport::TestCase | |||||
1025 | assert !query_ids.include?(7), 'public query on private project was visible' |
|
1025 | assert !query_ids.include?(7), 'public query on private project was visible' | |
1026 | end |
|
1026 | end | |
1027 |
|
1027 | |||
1028 | context "#available_filters" do |
|
1028 | test "#available_filters should include users of visible projects in cross-project view" do | |
1029 | setup do |
|
1029 | users = IssueQuery.new.available_filters["assigned_to_id"] | |
1030 | @query = IssueQuery.new(:name => "_") |
|
1030 | assert_not_nil users | |
1031 | end |
|
1031 | assert users[:values].map{|u|u[1]}.include?("3") | |
1032 |
|
1032 | end | ||
1033 | should "include users of visible projects in cross-project view" do |
|
|||
1034 | users = @query.available_filters["assigned_to_id"] |
|
|||
1035 | assert_not_nil users |
|
|||
1036 | assert users[:values].map{|u|u[1]}.include?("3") |
|
|||
1037 | end |
|
|||
1038 |
|
||||
1039 | should "include users of subprojects" do |
|
|||
1040 | user1 = User.generate! |
|
|||
1041 | user2 = User.generate! |
|
|||
1042 | project = Project.find(1) |
|
|||
1043 | Member.create!(:principal => user1, :project => project.children.visible.first, :role_ids => [1]) |
|
|||
1044 | @query.project = project |
|
|||
1045 |
|
||||
1046 | users = @query.available_filters["assigned_to_id"] |
|
|||
1047 | assert_not_nil users |
|
|||
1048 | assert users[:values].map{|u|u[1]}.include?(user1.id.to_s) |
|
|||
1049 | assert !users[:values].map{|u|u[1]}.include?(user2.id.to_s) |
|
|||
1050 | end |
|
|||
1051 |
|
||||
1052 | should "include visible projects in cross-project view" do |
|
|||
1053 | projects = @query.available_filters["project_id"] |
|
|||
1054 | assert_not_nil projects |
|
|||
1055 | assert projects[:values].map{|u|u[1]}.include?("1") |
|
|||
1056 | end |
|
|||
1057 |
|
||||
1058 | context "'member_of_group' filter" do |
|
|||
1059 | should "be present" do |
|
|||
1060 | assert @query.available_filters.keys.include?("member_of_group") |
|
|||
1061 | end |
|
|||
1062 |
|
||||
1063 | should "be an optional list" do |
|
|||
1064 | assert_equal :list_optional, @query.available_filters["member_of_group"][:type] |
|
|||
1065 | end |
|
|||
1066 |
|
||||
1067 | should "have a list of the groups as values" do |
|
|||
1068 | Group.destroy_all # No fixtures |
|
|||
1069 | group1 = Group.generate!.reload |
|
|||
1070 | group2 = Group.generate!.reload |
|
|||
1071 |
|
||||
1072 | expected_group_list = [ |
|
|||
1073 | [group1.name, group1.id.to_s], |
|
|||
1074 | [group2.name, group2.id.to_s] |
|
|||
1075 | ] |
|
|||
1076 | assert_equal expected_group_list.sort, @query.available_filters["member_of_group"][:values].sort |
|
|||
1077 | end |
|
|||
1078 |
|
1033 | |||
1079 | end |
|
1034 | test "#available_filters should include users of subprojects" do | |
|
1035 | user1 = User.generate! | |||
|
1036 | user2 = User.generate! | |||
|
1037 | project = Project.find(1) | |||
|
1038 | Member.create!(:principal => user1, :project => project.children.visible.first, :role_ids => [1]) | |||
1080 |
|
1039 | |||
1081 | context "'assigned_to_role' filter" do |
|
1040 | users = IssueQuery.new(:project => project).available_filters["assigned_to_id"] | |
1082 | should "be present" do |
|
1041 | assert_not_nil users | |
1083 | assert @query.available_filters.keys.include?("assigned_to_role") |
|
1042 | assert users[:values].map{|u|u[1]}.include?(user1.id.to_s) | |
1084 | end |
|
1043 | assert !users[:values].map{|u|u[1]}.include?(user2.id.to_s) | |
|
1044 | end | |||
1085 |
|
1045 | |||
1086 | should "be an optional list" do |
|
1046 | test "#available_filters should include visible projects in cross-project view" do | |
1087 | assert_equal :list_optional, @query.available_filters["assigned_to_role"][:type] |
|
1047 | projects = IssueQuery.new.available_filters["project_id"] | |
1088 | end |
|
1048 | assert_not_nil projects | |
|
1049 | assert projects[:values].map{|u|u[1]}.include?("1") | |||
|
1050 | end | |||
1089 |
|
1051 | |||
1090 | should "have a list of the Roles as values" do |
|
1052 | test "#available_filters should include 'member_of_group' filter" do | |
1091 | assert @query.available_filters["assigned_to_role"][:values].include?(['Manager','1']) |
|
1053 | query = IssueQuery.new | |
1092 |
|
|
1054 | assert query.available_filters.keys.include?("member_of_group") | |
1093 | assert @query.available_filters["assigned_to_role"][:values].include?(['Reporter','3']) |
|
1055 | assert_equal :list_optional, query.available_filters["member_of_group"][:type] | |
1094 | end |
|
1056 | assert query.available_filters["member_of_group"][:values].present? | |
|
1057 | assert_equal Group.all.sort.map {|g| [g.name, g.id.to_s]}, | |||
|
1058 | query.available_filters["member_of_group"][:values].sort | |||
|
1059 | end | |||
1095 |
|
1060 | |||
1096 | should "not include the built in Roles as values" do |
|
1061 | test "#available_filters should include 'assigned_to_role' filter" do | |
1097 | assert ! @query.available_filters["assigned_to_role"][:values].include?(['Non member','4']) |
|
1062 | query = IssueQuery.new | |
1098 |
|
|
1063 | assert query.available_filters.keys.include?("assigned_to_role") | |
1099 | end |
|
1064 | assert_equal :list_optional, query.available_filters["assigned_to_role"][:type] | |
1100 |
|
1065 | |||
1101 | end |
|
1066 | assert query.available_filters["assigned_to_role"][:values].include?(['Manager','1']) | |
|
1067 | assert query.available_filters["assigned_to_role"][:values].include?(['Developer','2']) | |||
|
1068 | assert query.available_filters["assigned_to_role"][:values].include?(['Reporter','3']) | |||
1102 |
|
1069 | |||
|
1070 | assert ! query.available_filters["assigned_to_role"][:values].include?(['Non member','4']) | |||
|
1071 | assert ! query.available_filters["assigned_to_role"][:values].include?(['Anonymous','5']) | |||
1103 | end |
|
1072 | end | |
1104 |
|
1073 | |||
1105 | context "#statement" do |
|
1074 | context "#statement" do |
General Comments 0
You need to be logged in to leave comments.
Login now