From 6136dd5a751b22cf88609840a89a40ffbc0b9145 Mon Sep 17 00:00:00 2001 From: Porus Patell Date: Fri, 15 Aug 2014 12:51:43 -0700 Subject: [PATCH 1/2] 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 From eeebf7dae61676f79a482930174d37e3afb79dd6 Mon Sep 17 00:00:00 2001 From: Porus Patell Date: Tue, 19 Aug 2014 18:43:02 -0700 Subject: [PATCH 2/2] Fixing requested changes for 'search issues by description' tests --- features/project/issues/issues.feature | 28 +++++++++---------- features/steps/project/issues.rb | 37 +++++++++++++------------- 2 files changed, 32 insertions(+), 33 deletions(-) diff --git a/features/project/issues/issues.feature b/features/project/issues/issues.feature index 85c6ab4bc2a..e3001318c23 100644 --- a/features/project/issues/issues.feature +++ b/features/project/issues/issues.feature @@ -64,30 +64,30 @@ Feature: Project 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 + Scenario: Search issues when search string exactly matches 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 + Scenario: Search issues when search string partially matches 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 + Scenario: Search issues when search string matches no 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 diff --git a/features/steps/project/issues.rb b/features/steps/project/issues.rb index be42bfcc024..ab2d7cee2e3 100644 --- a/features/steps/project/issues.rb +++ b/features/steps/project/issues.rb @@ -188,38 +188,37 @@ class ProjectIssues < Spinach::FeatureSteps 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) + 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) + 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" + 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" + 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" + 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" + 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" + 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" + step 'I should not see \'Bugfix1\' in issues' do + page.should_not have_content 'Bugfix1' end end