Commit 70f868b7 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
parent 593df8e6
......@@ -2,7 +2,7 @@ Feature: Project Labels
Background:
Given I sign in as a user
And I own project "Shop"
And project "Shop" have issues tags: "bug", "feature"
And project "Shop" has labels: "bug", "feature", "enhancement"
Given I visit project "Shop" labels page
Scenario: I should see active milestones
......
......@@ -3,13 +3,6 @@ class ProjectFilterLabels < Spinach::FeatureSteps
include SharedProject
include SharedPaths
step 'project "Shop" has labels: "bug", "feature", "enhancement"' do
project = Project.find_by(name: "Shop")
create(:label, project: project, title: 'bug')
create(:label, project: project, title: 'feature')
create(:label, project: project, title: 'enhancement')
end
step 'I should see "bug" in labels filter' do
within ".labels-filter" do
page.should have_content "bug"
......
......@@ -4,20 +4,14 @@ class ProjectLabels < Spinach::FeatureSteps
include SharedPaths
Then 'I should see label "bug"' do
within ".labels-table" do
within ".manage-labels-list" do
page.should have_content "bug"
end
end
And 'I should see label "feature"' do
within ".labels-table" do
within ".manage-labels-list" do
page.should have_content "feature"
end
end
And 'project "Shop" have issues tags: "bug", "feature"' do
project = Project.find_by(name: "Shop")
label1 = create(:label, project: project, title: 'bug')
label2 = create(:label, project: project, title: 'feature')
end
end
......@@ -123,10 +123,6 @@ module SharedProject
project.team << [user, :master]
end
# ----------------------------------------
# Empty projects
# ----------------------------------------
step 'public empty project "Empty Public Project"' do
create :empty_project, :public, name: "Empty Public Project"
end
......@@ -135,4 +131,11 @@ module SharedProject
project = Project.find_by(name: "Community")
2.times { create(:note_on_issue, project: project) }
end
step 'project "Shop" has labels: "bug", "feature", "enhancement"' do
project = Project.find_by(name: "Shop")
create(:label, project: project, title: 'bug')
create(:label, project: project, title: 'feature')
create(:label, project: project, title: 'enhancement')
end
end
......@@ -222,7 +222,7 @@ module API
# Example Request:
# GET /projects/:id/labels
get ':id/labels' do
@labels = user_project.issues_labels
@labels = user_project.labels
present @labels, with: Entities::Label
end
end
......
require 'spec_helper'
describe API::API, api: true do
include ApiHelpers
let(:user) { create(:user) }
let(:project) { create(:project, creator_id: user.id, namespace: user.namespace) }
let!(:label1) { create(:label, title: 'label1', project: project) }
before do
project.team << [user, :master]
end
describe 'GET /projects/:id/labels' do
it 'should return project labels' do
get api("/projects/#{project.id}/labels", user)
response.status.should == 200
json_response.should be_an Array
json_response.size.should == 1
json_response.first['name'].should == label1.name
end
end
end
......@@ -10,13 +10,6 @@ describe API::API, api: true do
let(:snippet) { create(:project_snippet, author: user, project: project, title: 'example') }
let(:users_project) { create(:users_project, user: user, project: project, project_access: UsersProject::MASTER) }
let(:users_project2) { create(:users_project, user: user3, project: project, project_access: UsersProject::DEVELOPER) }
let(:issue_with_labels) { create(:issue, author: user, assignee: user, project: project, :label_list => "label1, label2") }
let(:merge_request_with_labels) do
create(:merge_request, :simple, author: user, assignee: user,
source_project: project, target_project: project, title: 'Test',
label_list: 'label3, label4')
end
describe "GET /projects" do
before { project }
......@@ -634,46 +627,4 @@ describe API::API, api: true do
end
end
end
describe 'GET /projects/:id/labels' do
context 'with an issue' do
before { issue_with_labels }
it 'should return project labels' do
get api("/projects/#{project.id}/labels", user)
response.status.should == 200
json_response.should be_an Array
json_response.first['name'].should == issue_with_labels.labels.first.name
json_response.last['name'].should == issue_with_labels.labels.last.name
end
end
context 'with a merge request' do
before { merge_request_with_labels }
it 'should return project labels' do
get api("/projects/#{project.id}/labels", user)
response.status.should == 200
json_response.should be_an Array
json_response.first['name'].should == merge_request_with_labels.labels.first.name
json_response.last['name'].should == merge_request_with_labels.labels.last.name
end
end
context 'with an issue and a merge request' do
before do
issue_with_labels
merge_request_with_labels
end
it 'should return project labels from both' do
get api("/projects/#{project.id}/labels", user)
response.status.should == 200
json_response.should be_an Array
all_labels = issue_with_labels.labels.map(&:name).to_a
.concat(merge_request_with_labels.labels.map(&:name).to_a)
json_response.map { |e| e['name'] }.should =~ all_labels
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment