spec/lib/shamu/rails/json_api_spec.rb in shamu-0.0.4 vs spec/lib/shamu/rails/json_api_spec.rb in shamu-0.0.5
- old
+ new
@@ -6,15 +6,16 @@
attribute :id
attribute :name
end
class ResourcesController < ActionController::Base
+ include Shamu::Rails::JsonApi
end
module Resources
- class ResourcePresenter
- def present( resource, builder )
+ class ResourcePresenter < Shamu::JsonApi::Presenter
+ def present
builder.identifier :resource, resource.id
builder.attribute name: resource.name
end
end
end
@@ -22,29 +23,31 @@
end
describe JsonApiControllerSpec::ResourcesController, type: :controller do
controller JsonApiControllerSpec::ResourcesController do
def show
- resource = JsonApiControllerSpec::Resource.new id: 562, name: "Example"
- json_api resource: resource
+ resource = resources.first
+ render json: json_resource( resource )
end
def index
- json_api collection: resources
+ render json: json_collection( resources )
end
def nope
- json_api error: StandardError.new( "Nope" )
+ render json: json_error( StandardError.new( "Nope" ) )
end
def resources
- @resources ||= [ JsonApiControllerSpec::Resource.new( id: 562, name: "Example" ) ]
end
-
end
+ let( :resource ) { JsonApiControllerSpec::Resource.new( id: 562, name: "Example" ) }
+ let( :resources ) { [ resource ] }
+
before( :each ) do
allow( controller ).to receive( :_routes ).and_return @routes
+ allow( controller ).to receive( :resources ).and_return resources
end
describe "#json_resource" do
subject do
get :show, id: 1, format: :json
\ No newline at end of file