diff --git a/features/project/issues/issues.feature b/features/project/issues/issues.feature index b2e6f1f9324ec0d87a6ecd4b0477251e8576a61e..85c6ab4bc2ac58498c1405249a6e603f9fd08167 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 557ea2fdca8cf006e6c7d7e232472029956c3d77..be42bfcc024b7bf4daf14109bd83d4cac5d45e94 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