Project labels tests

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
Dmitriy Zaporozhets 2014-07-31 14:06:14 +03:00
parent 3ed2fce208
commit 0f4748873d
No known key found for this signature in database
GPG key ID: 627C5F589F467F17
4 changed files with 67 additions and 4 deletions

View file

@ -1,4 +1,4 @@
%li
%li{id: dom_id(label)}
= render_colored_label(label)
.pull-right
%strong.append-right-20

View file

@ -5,6 +5,21 @@ Feature: Project Labels
And project "Shop" has labels: "bug", "feature", "enhancement"
Given I visit project "Shop" labels page
Scenario: I should see active milestones
Scenario: I should see labels list
Then I should see label "bug"
And I should see label "feature"
Scenario: I create new label
Given I visit new label page
When I submit new label 'support'
Then I should see label 'support'
Scenario: I edit label
Given I visit 'bug' label edit page
When I change label 'bug' to 'fix'
Then I should not see label 'bug'
Then I should see label 'fix'
Scenario: I remove label
When I remove label 'bug'
Then I should not see label 'bug'

View file

@ -3,15 +3,59 @@ class ProjectLabels < Spinach::FeatureSteps
include SharedProject
include SharedPaths
Then 'I should see label "bug"' do
step 'I should see label "bug"' do
within ".manage-labels-list" do
page.should have_content "bug"
end
end
And 'I should see label "feature"' do
step 'I should see label "feature"' do
within ".manage-labels-list" do
page.should have_content "feature"
end
end
step 'I visit \'bug\' label edit page' do
visit edit_project_label_path(project, bug_label)
end
step 'I remove label \'bug\'' do
within "#label_#{bug_label.id}" do
click_link 'Remove'
end
end
step 'I submit new label \'support\'' do
fill_in 'Title', with: 'support'
fill_in 'Background Color', with: '#F95610'
click_button 'Save'
end
step 'I should not see label \'bug\'' do
within '.manage-labels-list' do
page.should_not have_content 'bug'
end
end
step 'I should see label \'support\'' do
within '.manage-labels-list' do
page.should have_content 'support'
end
end
step 'I change label \'bug\' to \'fix\'' do
fill_in 'Title', with: 'fix'
fill_in 'Background Color', with: '#F15610'
click_button 'Save'
end
step 'I should see label \'fix\'' do
within '.manage-labels-list' do
page.should have_content 'fix'
end
end
def bug_label
project.labels.find_or_create_by(title: 'bug')
end
end

View file

@ -289,6 +289,10 @@ module SharedPaths
visit project_labels_path(project)
end
step 'I visit new label page' do
visit new_project_label_path(project)
end
step 'I visit merge request page "Bug NS-04"' do
mr = MergeRequest.find_by(title: "Bug NS-04")
visit project_merge_request_path(mr.target_project, mr)