Added show action to page API and fixed some features
This commit is contained in:
parent
4f12c2cd10
commit
97edb0e4b7
@ -7,6 +7,11 @@ module Locomotive
|
|||||||
respond_with(@pages)
|
respond_with(@pages)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def show
|
||||||
|
@page = current_site.pages.find(params[:id])
|
||||||
|
respond_with(@page)
|
||||||
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@page = current_site.pages.create(params[:page])
|
@page = current_site.pages.create(params[:page])
|
||||||
respond_with @page, :location => main_app.locomotive_api_pages_url
|
respond_with @page, :location => main_app.locomotive_api_pages_url
|
||||||
|
@ -40,6 +40,41 @@ Feature: Pages
|
|||||||
When I do an API GET request to pages.json
|
When I do an API GET request to pages.json
|
||||||
Then the JSON response should contain all pages
|
Then the JSON response should contain all pages
|
||||||
|
|
||||||
|
# showing page
|
||||||
|
|
||||||
|
Scenario: Accessing page as an Admin
|
||||||
|
Given I have an "admin" token
|
||||||
|
When I do an API GET request to pages/4f832c2cb0d86d3f42fffffe.json
|
||||||
|
Then the JSON response hash should contain:
|
||||||
|
"""
|
||||||
|
{
|
||||||
|
"id": "4f832c2cb0d86d3f42fffffe",
|
||||||
|
"slug": "hello-world"
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
Scenario: Accessing page as a Designer
|
||||||
|
Given I have a "designer" token
|
||||||
|
When I do an API GET request to pages/4f832c2cb0d86d3f42fffffe.json
|
||||||
|
Then the JSON response hash should contain:
|
||||||
|
"""
|
||||||
|
{
|
||||||
|
"id": "4f832c2cb0d86d3f42fffffe",
|
||||||
|
"slug": "hello-world"
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
Scenario: Accessing page as an Author
|
||||||
|
Given I have an "author" token
|
||||||
|
When I do an API GET request to pages/4f832c2cb0d86d3f42fffffe.json
|
||||||
|
Then the JSON response hash should contain:
|
||||||
|
"""
|
||||||
|
{
|
||||||
|
"id": "4f832c2cb0d86d3f42fffffe",
|
||||||
|
"slug": "hello-world"
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
# create page
|
# create page
|
||||||
|
|
||||||
Scenario: Creating new page as an Admin
|
Scenario: Creating new page as an Admin
|
||||||
@ -101,11 +136,13 @@ Feature: Pages
|
|||||||
When I do an API PUT to pages/4f832c2cb0d86d3f42fffffe.json with:
|
When I do an API PUT to pages/4f832c2cb0d86d3f42fffffe.json with:
|
||||||
"""
|
"""
|
||||||
{
|
{
|
||||||
|
"page": {
|
||||||
"title": "Brand new updated title"
|
"title": "Brand new updated title"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
"""
|
"""
|
||||||
When I do an API GET request to pages/4f832c2cb0d86d3f42fffffe.json
|
When I do an API GET request to pages/4f832c2cb0d86d3f42fffffe.json
|
||||||
Then the JSON response should contain:
|
Then the JSON response hash should contain:
|
||||||
"""
|
"""
|
||||||
{
|
{
|
||||||
"id": "4f832c2cb0d86d3f42fffffe",
|
"id": "4f832c2cb0d86d3f42fffffe",
|
||||||
@ -118,11 +155,13 @@ Feature: Pages
|
|||||||
When I do an API PUT to pages/4f832c2cb0d86d3f42fffffe.json with:
|
When I do an API PUT to pages/4f832c2cb0d86d3f42fffffe.json with:
|
||||||
"""
|
"""
|
||||||
{
|
{
|
||||||
|
"page": {
|
||||||
"title": "Brand new updated title"
|
"title": "Brand new updated title"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
"""
|
"""
|
||||||
When I do an API GET request to pages/4f832c2cb0d86d3f42fffffe.json
|
When I do an API GET request to pages/4f832c2cb0d86d3f42fffffe.json
|
||||||
Then the JSON response should contain:
|
Then the JSON response hash should contain:
|
||||||
"""
|
"""
|
||||||
{
|
{
|
||||||
"id": "4f832c2cb0d86d3f42fffffe",
|
"id": "4f832c2cb0d86d3f42fffffe",
|
||||||
@ -135,7 +174,9 @@ Feature: Pages
|
|||||||
When I do an API PUT to pages/4f832c2cb0d86d3f42fffffe.json with:
|
When I do an API PUT to pages/4f832c2cb0d86d3f42fffffe.json with:
|
||||||
"""
|
"""
|
||||||
{
|
{
|
||||||
|
"page": {
|
||||||
"title": "Brand new updated title"
|
"title": "Brand new updated title"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
"""
|
"""
|
||||||
Then the JSON response should be an access denied error
|
Then the JSON response should be an access denied error
|
||||||
|
@ -67,6 +67,11 @@ Then /^the JSON response should be an access denied error$/ do
|
|||||||
@response['message'].should == 'You are not authorized to access this page'
|
@response['message'].should == 'You are not authorized to access this page'
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^the JSON response should contain:$/ do |json|
|
Then /^the JSON response hash should contain:$/ do |json|
|
||||||
@response.merge(JSON.parse(json)).should == @response
|
sub_response = {}
|
||||||
|
parsed_json = JSON.parse(json)
|
||||||
|
parsed_json.each do |k, v|
|
||||||
|
sub_response[k] = @response[k]
|
||||||
|
end
|
||||||
|
sub_response.should == parsed_json
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user