Commit e03f1af0 authored by Hannes Rosenögger's avatar Hannes Rosenögger

Fix the test and add documentation for the "per-milestone issues API call"

parent 9d271538
...@@ -48,7 +48,7 @@ v 7.8.0 ...@@ -48,7 +48,7 @@ v 7.8.0
- -
- -
- -
- - Add a new API function that retrieves all issues assigned to a single milestone (Justin Whear and Hannes Rosenögger)
- -
- -
- -
......
...@@ -72,3 +72,16 @@ Parameters: ...@@ -72,3 +72,16 @@ Parameters:
- `description` (optional) - The description of a milestone - `description` (optional) - The description of a milestone
- `due_date` (optional) - The due date of the milestone - `due_date` (optional) - The due date of the milestone
- `state_event` (optional) - The state event of the milestone (close|activate) - `state_event` (optional) - The state event of the milestone (close|activate)
## Get all issues assigned to a single milestone
Gets all issues assigned to a single project milestone.
```
GET /projects/:id/milestones/:milestone_id/issues
```
Parameters:
- `id` (required) - The ID of a project
- `milestone_id` (required) - The ID of a project milestone
...@@ -76,7 +76,7 @@ module API ...@@ -76,7 +76,7 @@ module API
end end
end end
# Get all issues for single project milestone # Get all issues for a single project milestone
# #
# Parameters: # Parameters:
# id (required) - The ID of a project # id (required) - The ID of a project
......
...@@ -8,48 +8,48 @@ describe API::API, api: true do ...@@ -8,48 +8,48 @@ describe API::API, api: true do
before { project.team << [user, :developer] } before { project.team << [user, :developer] }
describe "GET /projects/:id/milestones" do describe 'GET /projects/:id/milestones' do
it "should return project milestones" do it 'should return project milestones' do
get api("/projects/#{project.id}/milestones", user) get api("/projects/#{project.id}/milestones", user)
response.status.should == 200 response.status.should == 200
json_response.should be_an Array json_response.should be_an Array
json_response.first['title'].should == milestone.title json_response.first['title'].should == milestone.title
end end
it "should return a 401 error if user not authenticated" do it 'should return a 401 error if user not authenticated' do
get api("/projects/#{project.id}/milestones") get api("/projects/#{project.id}/milestones")
response.status.should == 401 response.status.should == 401
end end
end end
describe "GET /projects/:id/milestones/:milestone_id" do describe 'GET /projects/:id/milestones/:milestone_id' do
it "should return a project milestone by id" do it 'should return a project milestone by id' do
get api("/projects/#{project.id}/milestones/#{milestone.id}", user) get api("/projects/#{project.id}/milestones/#{milestone.id}", user)
response.status.should == 200 response.status.should == 200
json_response['title'].should == milestone.title json_response['title'].should == milestone.title
json_response['iid'].should == milestone.iid json_response['iid'].should == milestone.iid
end end
it "should return 401 error if user not authenticated" do it 'should return 401 error if user not authenticated' do
get api("/projects/#{project.id}/milestones/#{milestone.id}") get api("/projects/#{project.id}/milestones/#{milestone.id}")
response.status.should == 401 response.status.should == 401
end end
it "should return a 404 error if milestone id not found" do it 'should return a 404 error if milestone id not found' do
get api("/projects/#{project.id}/milestones/1234", user) get api("/projects/#{project.id}/milestones/1234", user)
response.status.should == 404 response.status.should == 404
end end
end end
describe "POST /projects/:id/milestones" do describe 'POST /projects/:id/milestones' do
it "should create a new project milestone" do it 'should create a new project milestone' do
post api("/projects/#{project.id}/milestones", user), title: 'new milestone' post api("/projects/#{project.id}/milestones", user), title: 'new milestone'
response.status.should == 201 response.status.should == 201
json_response['title'].should == 'new milestone' json_response['title'].should == 'new milestone'
json_response['description'].should be_nil json_response['description'].should be_nil
end end
it "should create a new project milestone with description and due date" do it 'should create a new project milestone with description and due date' do
post api("/projects/#{project.id}/milestones", user), post api("/projects/#{project.id}/milestones", user),
title: 'new milestone', description: 'release', due_date: '2013-03-02' title: 'new milestone', description: 'release', due_date: '2013-03-02'
response.status.should == 201 response.status.should == 201
...@@ -57,29 +57,29 @@ describe API::API, api: true do ...@@ -57,29 +57,29 @@ describe API::API, api: true do
json_response['due_date'].should == '2013-03-02' json_response['due_date'].should == '2013-03-02'
end end
it "should return a 400 error if title is missing" do it 'should return a 400 error if title is missing' do
post api("/projects/#{project.id}/milestones", user) post api("/projects/#{project.id}/milestones", user)
response.status.should == 400 response.status.should == 400
end end
end end
describe "PUT /projects/:id/milestones/:milestone_id" do describe 'PUT /projects/:id/milestones/:milestone_id' do
it "should update a project milestone" do it 'should update a project milestone' do
put api("/projects/#{project.id}/milestones/#{milestone.id}", user), put api("/projects/#{project.id}/milestones/#{milestone.id}", user),
title: 'updated title' title: 'updated title'
response.status.should == 200 response.status.should == 200
json_response['title'].should == 'updated title' json_response['title'].should == 'updated title'
end end
it "should return a 404 error if milestone id not found" do it 'should return a 404 error if milestone id not found' do
put api("/projects/#{project.id}/milestones/1234", user), put api("/projects/#{project.id}/milestones/1234", user),
title: 'updated title' title: 'updated title'
response.status.should == 404 response.status.should == 404
end end
end end
describe "PUT /projects/:id/milestones/:milestone_id to close milestone" do describe 'PUT /projects/:id/milestones/:milestone_id to close milestone' do
it "should update a project milestone" do it 'should update a project milestone' do
put api("/projects/#{project.id}/milestones/#{milestone.id}", user), put api("/projects/#{project.id}/milestones/#{milestone.id}", user),
state_event: 'close' state_event: 'close'
response.status.should == 200 response.status.should == 200
...@@ -88,8 +88,8 @@ describe API::API, api: true do ...@@ -88,8 +88,8 @@ describe API::API, api: true do
end end
end end
describe "PUT /projects/:id/milestones/:milestone_id to test observer on close" do describe 'PUT /projects/:id/milestones/:milestone_id to test observer on close' do
it "should create an activity event when an milestone is closed" do it 'should create an activity event when an milestone is closed' do
Event.should_receive(:create) Event.should_receive(:create)
put api("/projects/#{project.id}/milestones/#{milestone.id}", user), put api("/projects/#{project.id}/milestones/#{milestone.id}", user),
...@@ -97,15 +97,18 @@ describe API::API, api: true do ...@@ -97,15 +97,18 @@ describe API::API, api: true do
end end
end end
describe "GET /projects/:id/milestones/:milestone_id/issues" do describe 'GET /projects/:id/milestones/:milestone_id/issues' do
it "should return project issues for a particular milestone" do before do
milestone.issues << create(:issue)
end
it 'should return project issues for a particular milestone' do
get api("/projects/#{project.id}/milestones/#{milestone.id}/issues", user) get api("/projects/#{project.id}/milestones/#{milestone.id}/issues", user)
response.status.should == 200 response.status.should == 200
json_response.should be_an Array json_response.should be_an Array
json_response.first['milestone']['title'].should == milestone.title json_response.first['milestone']['title'].should == milestone.title
end end
it "should return a 401 error if user not authenticated" do it 'should return a 401 error if user not authenticated' do
get api("/projects/#{project.id}/milestones/#{milestone.id}/issues") get api("/projects/#{project.id}/milestones/#{milestone.id}/issues")
response.status.should == 401 response.status.should == 401
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