summaryrefslogtreecommitdiff
path: root/spec/features/issues
diff options
context:
space:
mode:
authorClement Ho <ClemMakesApps@gmail.com>2016-11-14 10:25:32 -0600
committerClement Ho <ClemMakesApps@gmail.com>2017-01-09 16:00:55 -0600
commit7f4609198d2a46e8b850a535cb17a3f67d87e25e (patch)
tree2ea27082f2067cb5dbd53fc5c93e1e8eee589fd3 /spec/features/issues
parente4c233224552484544b764a35a4686a6be3c9dea (diff)
downloadgitlab-ce-7f4609198d2a46e8b850a535cb17a3f67d87e25e.tar.gz
Added more specs
Diffstat (limited to 'spec/features/issues')
-rw-r--r--spec/features/issues/filter_issues_spec.rb72
1 files changed, 72 insertions, 0 deletions
diff --git a/spec/features/issues/filter_issues_spec.rb b/spec/features/issues/filter_issues_spec.rb
index 7d681742045..2f8e7adad89 100644
--- a/spec/features/issues/filter_issues_spec.rb
+++ b/spec/features/issues/filter_issues_spec.rb
@@ -15,6 +15,7 @@ describe 'Filter issues', feature: true do
let!(:bug_label) { create(:label, project: project, title: 'bug') }
let!(:caps_sensitive_label) { create(:label, project: project, title: 'CAPS_sensitive') }
let!(:milestone) { create(:milestone, title: "8", project: project) }
+ let!(:multiple_words_label) { create(:label, project: project, title: "Two words") }
def input_filtered_search(search_term)
filtered_search = find('.filtered-search')
@@ -78,6 +79,9 @@ describe 'Filter issues', feature: true do
issue_with_everything.labels << bug_label
issue_with_everything.labels << caps_sensitive_label
+ multiple_words_label_issue = create(:issue, title: "Issue with multiple words label", project: project)
+ multiple_words_label_issue.labels << multiple_words_label
+
visit namespace_project_issues_path(project.namespace, project)
end
@@ -190,6 +194,61 @@ describe 'Filter issues', feature: true do
input_filtered_search("label:#{bug_label.title} label:#{caps_sensitive_label.title}")
expect_issues_list_count(1)
end
+
+ it 'filters issues by label containing special characters' do
+ special_label = create(:label, project: project, title: '!@#{$%^&*()-+[]<>?/:{}|\}')
+ special_issue = create(:issue, title: "Issue with special character label", project: project)
+ special_issue.labels << special_label
+ input_filtered_search("label:#{special_label.title}")
+ expect_issues_list_count(1)
+ end
+
+ it 'does not show issues' do
+ new_label = create(:label, project: project, title: "new_label")
+ input_filtered_search("label:#{new_label.title}")
+ expect_no_issues_list()
+ end
+ end
+
+ context 'label with multiple words', js: true do
+ it 'special characters' do
+ special_multiple_label = create(:label, project: project, title: "Utmost |mp0rt@nce")
+ special_multiple_issue = create(:issue, title: "Issue with special character multiple words label", project: project)
+ special_multiple_issue.labels << special_multiple_label
+
+ input_filtered_search("label:'#{special_multiple_label.title}'")
+ expect_issues_list_count(1)
+ end
+
+ it 'single quotes' do
+ input_filtered_search("label:'#{multiple_words_label.title}'")
+ expect_issues_list_count(1)
+ end
+
+ it 'double quotes' do
+ input_filtered_search("label:\"#{multiple_words_label.title}\"")
+ expect_issues_list_count(1)
+ end
+
+ it 'single quotes containing double quotes' do
+ # TODO: Actual bug
+
+ # double_quotes_label = create(:label, project: project, title: 'won"t fix')
+ # double_quotes_label_issue = create(:issue, title: "Issue with double quotes label", project: project)
+ # double_quotes_label_issue.labels << double_quotes_label
+
+ # input_filtered_search("label:'#{double_quotes_label.title}'")
+ # expect_issues_list_count(1)
+ end
+
+ it 'double quotes containing single quotes' do
+ single_quotes_label = create(:label, project: project, title: "won't fix")
+ single_quotes_label_issue = create(:issue, title: "Issue with single quotes label", project: project)
+ single_quotes_label_issue.labels << single_quotes_label
+
+ input_filtered_search("label:\"#{single_quotes_label.title}\"")
+ expect_issues_list_count(1)
+ end
end
context 'label with other filters', js: true do
@@ -269,6 +328,19 @@ describe 'Filter issues', feature: true do
it 'filters issues by multiple milestones' do
# YOLO
end
+
+ it 'filters issues by milestone containing special characters' do
+ special_milestone = create(:milestone, title: '!@\#{$%^&*()}', project: project)
+ create(:issue, title: "Issue with special character milestone", project: project, milestone: special_milestone)
+ input_filtered_search('milestone:!@\#{$%^&*()}')
+ expect_issues_list_count(1)
+ end
+
+ it 'does not show issues' do
+ new_milestone = create(:milestone, title: "new", project: project)
+ input_filtered_search("milestone:#{new_milestone}")
+ expect_no_issues_list()
+ end
end
context 'milestone with other filters', js: true do