diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-08-27 10:48:51 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-08-27 10:48:51 +0300 |
commit | c3ad51a0e492108825093e12d441cca90d597a19 (patch) | |
tree | a4f4479b6fa15da2bb2b3b3439d6a1ff4ca33950 /features | |
parent | ede08dbdd787fdd3a30b62dc0e7e2c796bb6d43a (diff) | |
download | gitlab-ce-c3ad51a0e492108825093e12d441cca90d597a19.tar.gz |
Improve search tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'features')
-rw-r--r-- | features/dashboard/search.feature | 10 | ||||
-rw-r--r-- | features/search.feature | 29 | ||||
-rw-r--r-- | features/steps/dashboard/search.rb | 19 | ||||
-rw-r--r-- | features/steps/search.rb | 73 |
4 files changed, 102 insertions, 29 deletions
diff --git a/features/dashboard/search.feature b/features/dashboard/search.feature deleted file mode 100644 index 24c45028697..00000000000 --- a/features/dashboard/search.feature +++ /dev/null @@ -1,10 +0,0 @@ -@dashboard -Feature: Dashboard Search - Background: - Given I sign in as a user - And I own project "Shop" - And I visit dashboard search page - - Scenario: I should see project I am looking for - Given I search for "Sho" - Then I should see "Shop" project link diff --git a/features/search.feature b/features/search.feature new file mode 100644 index 00000000000..b174d973122 --- /dev/null +++ b/features/search.feature @@ -0,0 +1,29 @@ +@dashboard +Feature: Search + Background: + Given I sign in as a user + And I own project "Shop" + And I visit dashboard search page + + Scenario: I should see project I am looking for + Given I search for "Sho" + Then I should see "Shop" project link + + Scenario: I should see issues I am looking for + And project has issues + When I search for "Foo" + And I click "Issues" link + Then I should see "Foo" link + And I should not see "Bar" link + + Scenario: I should see merge requests I am looking for + And project has merge requests + When I search for "Foo" + When I click "Merge requests" link + Then I should see "Foo" link + And I should not see "Bar" link + + Scenario: I should see project code I am looking for + When I search for "rspec" + And I click project "Shop" link + Then I should see code results for project "Shop" diff --git a/features/steps/dashboard/search.rb b/features/steps/dashboard/search.rb deleted file mode 100644 index 32966a8617a..00000000000 --- a/features/steps/dashboard/search.rb +++ /dev/null @@ -1,19 +0,0 @@ -class DashboardSearch < Spinach::FeatureSteps - include SharedAuthentication - include SharedPaths - include SharedProject - - Given 'I search for "Sho"' do - fill_in "dashboard_search", with: "Sho" - click_button "Search" - end - - Then 'I should see "Shop" project link' do - page.should have_link "Shop" - end - - Given 'I search for "Contibuting"' do - fill_in "dashboard_search", with: "Contibuting" - click_button "Search" - end -end diff --git a/features/steps/search.rb b/features/steps/search.rb new file mode 100644 index 00000000000..b1058989d0b --- /dev/null +++ b/features/steps/search.rb @@ -0,0 +1,73 @@ +class Spinach::Features::Search < Spinach::FeatureSteps + include SharedAuthentication + include SharedPaths + include SharedProject + + step 'I search for "Sho"' do + fill_in "dashboard_search", with: "Sho" + click_button "Search" + end + + step 'I search for "Foo"' do + fill_in "dashboard_search", with: "Foo" + click_button "Search" + end + + step 'I search for "rspec"' do + fill_in "dashboard_search", with: "rspec" + click_button "Search" + end + + step 'I click "Issues" link' do + within '.search-filter' do + click_link 'Issues' + end + end + + step 'I click project "Shop" link' do + within '.project-filter' do + click_link project.name_with_namespace + end + end + + step 'I click "Merge requests" link' do + within '.search-filter' do + click_link 'Merge requests' + end + end + + step 'I should see "Shop" project link' do + page.should have_link "Shop" + end + + step 'I should see code results for project "Shop"' do + page.should have_content 'Update capybara, rspec-rails, poltergeist to recent versions' + end + + step 'I search for "Contibuting"' do + fill_in "dashboard_search", with: "Contibuting" + click_button "Search" + end + + step 'project has issues' do + create(:issue, title: "Foo", project: project) + create(:issue, title: "Bar", project: project) + end + + step 'project has merge requests' do + create(:merge_request, title: "Foo", source_project: project, target_project: project) + create(:merge_request, :simple, title: "Bar", source_project: project, target_project: project) + end + + step 'I should see "Foo" link' do + page.should have_link "Foo" + end + + step 'I should not see "Bar" link' do + page.should_not have_link "Bar" + end + + def project + @project ||= Project.find_by(name: "Shop") + end +end |