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