diff options
author | Tudor Pavel <tpavel@pitechplus.com> | 2014-02-17 16:54:19 +0200 |
---|---|---|
committer | Tudor Pavel <tpavel@pitechplus.com> | 2014-02-18 15:38:33 +0200 |
commit | 4f6b570fbe6e87befd9242f19acee1f14a28574e (patch) | |
tree | bd4d2221d20d62118648a0b4ae82259c35d1feb5 /features | |
parent | 8a55636f8974d73c097a52721e2208cea727bc17 (diff) | |
download | gitlab-ce-4f6b570fbe6e87befd9242f19acee1f14a28574e.tar.gz |
Filter issues by multiple labels with Spinach feature spec
Diffstat (limited to 'features')
-rw-r--r-- | features/project/issues/filter_labels.feature | 26 | ||||
-rw-r--r-- | features/steps/project/project_filter_labels.rb | 70 |
2 files changed, 96 insertions, 0 deletions
diff --git a/features/project/issues/filter_labels.feature b/features/project/issues/filter_labels.feature new file mode 100644 index 00000000000..8df7a119e84 --- /dev/null +++ b/features/project/issues/filter_labels.feature @@ -0,0 +1,26 @@ +Feature: Project Filter Labels + Background: + Given I sign in as a user + And I own project "Shop" + And project "Shop" has issue "Bugfix1" with tags: "bug", "feature" + And project "Shop" has issue "Bugfix2" with tags: "bug", "enhancement" + And project "Shop" has issue "Feature1" with tags: "feature" + Given I visit project "Shop" issues page + + Scenario: I should see project issues + Then I should see "bug" in labels filter + And I should see "feature" in labels filter + And I should see "enhancement" in labels filter + + Scenario: I filter by one label + Given I click link "bug" + Then I should see "Bugfix1" in issues list + And I should see "Bugfix2" in issues list + And I should not see "Feature1" in issues list + + Scenario: I filter by two labels + Given I click link "bug" + And I click link "feature" + Then I should see "Bugfix1" in issues list + And I should not see "Bugfix2" in issues list + And I should not see "Feature1" in issues list diff --git a/features/steps/project/project_filter_labels.rb b/features/steps/project/project_filter_labels.rb new file mode 100644 index 00000000000..d507d3417e4 --- /dev/null +++ b/features/steps/project/project_filter_labels.rb @@ -0,0 +1,70 @@ +class ProjectFilterLabels < Spinach::FeatureSteps + include SharedAuthentication + include SharedProject + include SharedPaths + + Then 'I should see "bug" in labels filter' do + within ".list-group" do + page.should have_content "bug" + end + end + + And 'I should see "feature" in labels filter' do + within ".list-group" do + page.should have_content "feature" + end + end + + And 'I should see "enhancement" in labels filter' do + within ".list-group" do + page.should have_content "enhancement" + end + end + + Then 'I should see "Bugfix1" in issues list' do + within ".issues-list" do + page.should have_content "Bugfix1" + end + end + + And 'I should see "Bugfix2" in issues list' do + within ".issues-list" do + page.should have_content "Bugfix2" + end + end + + And 'I should not see "Bugfix2" in issues list' do + within ".issues-list" do + page.should_not have_content "Bugfix2" + end + end + + And 'I should not see "Feature1" in issues list' do + within ".issues-list" do + page.should_not have_content "Feature1" + end + end + + Given 'I click link "bug"' do + click_link "bug" + end + + Given 'I click link "feature"' do + click_link "feature" + end + + And 'project "Shop" has issue "Bugfix1" with tags: "bug", "feature"' do + project = Project.find_by(name: "Shop") + create(:issue, title: "Bugfix1", project: project, label_list: ['bug', 'feature']) + end + + And 'project "Shop" has issue "Bugfix2" with tags: "bug", "enhancement"' do + project = Project.find_by(name: "Shop") + create(:issue, title: "Bugfix2", project: project, label_list: ['bug', 'enhancement']) + end + + And 'project "Shop" has issue "Feature1" with tags: "feature"' do + project = Project.find_by(name: "Shop") + create(:issue, title: "Feature1", project: project, label_list: 'feature') + end +end |