summaryrefslogtreecommitdiff
path: root/spec/features/search/user_uses_search_filters_spec.rb
diff options
context:
space:
mode:
authorVitaliy @blackst0ne Klachkov <blackst0ne.ru@gmail.com>2017-09-16 20:02:30 +1100
committerVitaliy @blackst0ne Klachkov <blackst0ne.ru@gmail.com>2017-09-16 20:02:30 +1100
commitb3d79b1ff4ad1e601e1e817e7ad8f446e60bfa59 (patch)
tree522dc657220acae025b685a37d93f4eefdea421a /spec/features/search/user_uses_search_filters_spec.rb
parent20295b3db379f4be02521cac591feca3452a2b1c (diff)
downloadgitlab-ce-b3d79b1ff4ad1e601e1e817e7ad8f446e60bfa59.tar.gz
Replace the 'search.feature' spinach test with an rspec analog
Diffstat (limited to 'spec/features/search/user_uses_search_filters_spec.rb')
-rw-r--r--spec/features/search/user_uses_search_filters_spec.rb52
1 files changed, 52 insertions, 0 deletions
diff --git a/spec/features/search/user_uses_search_filters_spec.rb b/spec/features/search/user_uses_search_filters_spec.rb
new file mode 100644
index 00000000000..95f3eb5e805
--- /dev/null
+++ b/spec/features/search/user_uses_search_filters_spec.rb
@@ -0,0 +1,52 @@
+require 'spec_helper'
+
+describe 'User uses search filters', :js do
+ let(:group) { create(:group) }
+ let!(:group_project) { create(:project, group: group) }
+ let(:project) { create(:project, namespace: user.namespace) }
+ let(:user) { create(:user) }
+
+ before do
+ project.add_reporter(user)
+ group.add_owner(user)
+ sign_in(user)
+
+ visit(search_path)
+ end
+
+ context' when filtering by group' do
+ it 'shows group projects' do
+ find('.js-search-group-dropdown').trigger('click')
+
+ wait_for_requests
+
+ page.within('.search-holder') do
+ click_link(group.name)
+ end
+
+ expect(find('.js-search-group-dropdown')).to have_content(group.name)
+
+ page.within('.project-filter') do
+ find('.js-search-project-dropdown').trigger('click')
+
+ wait_for_requests
+
+ expect(page).to have_link(group_project.name_with_namespace)
+ end
+ end
+ end
+
+ context' when filtering by project' do
+ it 'shows a project' do
+ page.within('.project-filter') do
+ find('.js-search-project-dropdown').trigger('click')
+
+ wait_for_requests
+
+ click_link(project.name_with_namespace)
+ end
+
+ expect(find('.js-search-project-dropdown')).to have_content(project.name_with_namespace)
+ end
+ end
+end