@@ -65,5 +65,97 @@ def test_and_two_words
65
65
]
66
66
assert_equal ( expected_issues , query . issues )
67
67
end
68
+
69
+ def test_and_two_words_within_my_projects
70
+ Issue . destroy_all
71
+ User . current = User . find_by ( login : 'dlopper' )
72
+ project = Project . generate!
73
+ User . add_to_project ( User . current , project )
74
+
75
+ # User's project issues.
76
+ subject_groonga_description_pgroonga =
77
+ Issue . generate! ( project : project ,
78
+ subject : "ぐるんが" ,
79
+ description : "ぴーじーるんが" )
80
+ without_keywords = Issue . generate! ( project : project ,
81
+ subject : "no-keyword" ,
82
+ description : "no-keyword" )
83
+ subject_pgroonga_journal_groonga =
84
+ Issue . generate! ( project : project , subject : "ぴーじーるんが" )
85
+ . journals . create! ( notes : "ぐるんが" )
86
+ # Another project issue.
87
+ subject_pgroonga_description_groonga =
88
+ Issue . generate! ( subject : "ぴーじーるんが" ,
89
+ description : "ぐるんが" )
90
+
91
+ query = IssueQuery . new (
92
+ :name => "_" ,
93
+ :filters => {
94
+ "any_searchable" => {
95
+ :operator => "~" ,
96
+ :values => [ "ぐるんが ぴーじーるんが" ]
97
+ } ,
98
+ "project_id" => {
99
+ :operator => "=" ,
100
+ :values => [ 'mine' ]
101
+ } ,
102
+ } ,
103
+ :sort_criteria => [ [ "id" , "asc" ] ]
104
+ )
105
+ expected_issues = [
106
+ subject_groonga_description_pgroonga ,
107
+ subject_pgroonga_journal_groonga . issue
108
+ ]
109
+ assert_equal ( expected_issues , with_user ( User . current ) do
110
+ query . issues
111
+ end )
112
+ end
113
+
114
+ def test_and_two_words_within_bookmarks
115
+ Issue . destroy_all
116
+ current_user = User . current = User . find ( 1 )
117
+ bookmarked_project =
118
+ Project . where ( id : [ current_user . bookmarked_project_ids ] )
119
+ . first
120
+ no_bookmarked_project = Project . generate!
121
+
122
+ # User's bookmarked project issues.
123
+ subject_groonga_description_pgroonga =
124
+ Issue . generate! ( project : bookmarked_project ,
125
+ subject : "ぐるんが" ,
126
+ description : "ぴーじーるんが" )
127
+ without_keywords = Issue . generate! ( project : bookmarked_project ,
128
+ subject : "no-keyword" ,
129
+ description : "no-keyword" )
130
+ subject_pgroonga_journal_groonga =
131
+ Issue . generate! ( project : bookmarked_project , subject : "ぴーじーるんが" )
132
+ . journals . create! ( notes : "ぐるんが" )
133
+ # Another project issue.
134
+ subject_pgroonga_description_groonga =
135
+ Issue . generate! ( project : no_bookmarked_project ,
136
+ subject : "ぴーじーるんが" ,
137
+ description : "ぐるんが" )
138
+
139
+ query = IssueQuery . new (
140
+ :name => "_" ,
141
+ :filters => {
142
+ "any_searchable" => {
143
+ :operator => "~" ,
144
+ :values => [ "ぐるんが ぴーじーるんが" ]
145
+ } ,
146
+ "project_id" => {
147
+ :operator => "=" ,
148
+ :values => [ "bookmarks" ]
149
+ } ,
150
+ } ,
151
+ :sort_criteria => [ [ "id" , "asc" ] ]
152
+ )
153
+ expected_issues = [
154
+ subject_groonga_description_pgroonga ,
155
+ subject_pgroonga_journal_groonga . issue
156
+ ]
157
+ searched_result = query . issues
158
+ assert_equal ( expected_issues , searched_result )
159
+ end
68
160
end
69
161
end
0 commit comments