From 6136dd5a751b22cf88609840a89a40ffbc0b9145 Mon Sep 17 00:00:00 2001 From: Porus Patell <ppatell@perforce.com> Date: Fri, 15 Aug 2014 12:51:43 -0700 Subject: [PATCH] Adding Spinach tests for 'search issues by description field' feature --- features/project/issues/issues.feature | 30 ++++++++++++++++++++++ features/steps/project/issues.rb | 35 ++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/features/project/issues/issues.feature b/features/project/issues/issues.feature index b2e6f1f9324..85c6ab4bc2a 100644 --- a/features/project/issues/issues.feature +++ b/features/project/issues/issues.feature @@ -63,6 +63,36 @@ Feature: Project Issues Then I should see "Release 0.3" in issues And I should not see "Release 0.4" in issues + @javascript + Scenario: Test to search project issues when the entered search string exactly matches an existing issue description + Given project "Shop" has issue "Bugfix1" with description: "Description for issue1" + And I fill in issue search with "Description for issue1" + Then I should see "Bugfix1" in issues + And I should not see "Release 0.4" in issues + And I should not see "Release 0.3" in issues + And I should not see "Tweet control" in issues + + @javascript + Scenario: Test to search project issues when the entered search string partially matches an existing issue description + Given project "Shop" has issue "Bugfix1" with description: "Description for issue1" + And project "Shop" has issue "Feature1" with description: "Feature submitted for issue1" + And I fill in issue search with "issue1" + Then I should see "Feature1" in issues + Then I should see "Bugfix1" in issues + And I should not see "Release 0.4" in issues + And I should not see "Release 0.3" in issues + And I should not see "Tweet control" in issues + + @javascript + Scenario: Test to search project when the entered search string matches no existing issue description + Given project "Shop" has issue "Bugfix1" with description: "Description for issue1" + And I fill in issue search with "Rock and roll" + Then I should not see "Bugfix1" in issues + And I should not see "Release 0.4" in issues + And I should not see "Release 0.3" in issues + And I should not see "Tweet control" in issues + + # Markdown Scenario: Headers inside the description should have ids generated for them. diff --git a/features/steps/project/issues.rb b/features/steps/project/issues.rb index 557ea2fdca8..be42bfcc024 100644 --- a/features/steps/project/issues.rb +++ b/features/steps/project/issues.rb @@ -187,4 +187,39 @@ class ProjectIssues < Spinach::FeatureSteps step 'The code block should be unchanged' do page.should have_content("```\nCommand [1]: /usr/local/bin/git , see [text](doc/text)\n```") end + + step 'project "Shop" has issue "Bugfix1" with description: "Description for issue1"' do + project = Project.find_by(name: "Shop") + issue = create(:issue, title: "Bugfix1", description: "Description for issue1", project: project) + end + + step 'project "Shop" has issue "Feature1" with description: "Feature submitted for issue1"' do + project = Project.find_by(name: "Shop") + issue = create(:issue, title: "Feature1", description: "Feature submitted for issue1", project: project) + end + + step 'I fill in issue search with "Description for issue1"' do + fill_in 'issue_search', with: "Description for issue" + end + + step 'I fill in issue search with "issue1"' do + fill_in 'issue_search', with: "issue1" + end + + step 'I fill in issue search with "Rock and roll"' do + fill_in 'issue_search', with: "Description for issue" + end + + step 'I should see "Bugfix1" in issues' do + page.should have_content "Bugfix1" + end + + step 'I should see "Feature1" in issues' do + page.should have_content "Feature1" + end + + + step 'I should not see "Bugfix1" in issues' do + page.should_not have_content "Bugfix1" + end end -- GitLab