Skip to content

Commit aada908

Browse files
committed
add test cases using bookmarked or my project filters
1 parent d7b7cfb commit aada908

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

test/unit/full_text_search/issue_query_any_searchable_test.rb

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,97 @@ def test_and_two_words
6565
]
6666
assert_equal(expected_issues, query.issues)
6767
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
68160
end
69161
end

0 commit comments

Comments
 (0)