mirror of
https://github.com/samsonjs/grape-active_model_serializers.git
synced 2026-04-27 14:57:43 +00:00
Changed tests to use Plain Old Ruby Objects instead of ActiveRecord models to make testing easier. Gets rid of NullDB and ActiveRecord development dependencies
This commit is contained in:
parent
02f4b154e4
commit
a1ae2166de
6 changed files with 17 additions and 49 deletions
|
|
@ -18,9 +18,7 @@ Gem::Specification.new do |gem|
|
||||||
gem.add_dependency "grape", "~> 0.3"
|
gem.add_dependency "grape", "~> 0.3"
|
||||||
gem.add_dependency "active_model_serializers", ">= 0.8.1"
|
gem.add_dependency "active_model_serializers", ">= 0.8.1"
|
||||||
|
|
||||||
gem.add_development_dependency "activerecord"
|
|
||||||
gem.add_development_dependency "rspec", "~> 2.12.0"
|
gem.add_development_dependency "rspec", "~> 2.12.0"
|
||||||
gem.add_development_dependency "rack-test"
|
gem.add_development_dependency "rack-test"
|
||||||
gem.add_development_dependency "rake"
|
gem.add_development_dependency "rake"
|
||||||
gem.add_development_dependency "activerecord-nulldb-adapter"
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
ActiveRecord::Schema.define(version: 20130403105356) do
|
|
||||||
create_table "users", force: true do |t|
|
|
||||||
t.string "username"
|
|
||||||
t.string "first_name"
|
|
||||||
t.string "last_name"
|
|
||||||
|
|
||||||
t.datetime "created_at"
|
|
||||||
t.datetime "updated_at"
|
|
||||||
end
|
|
||||||
|
|
||||||
create_table "blog_posts", force: true do |t|
|
|
||||||
t.string "title"
|
|
||||||
t.string "body"
|
|
||||||
|
|
||||||
t.datetime "created_at"
|
|
||||||
t.datetime "updated_at"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
@ -11,8 +11,6 @@ describe Grape::ActiveModelSerializers do
|
||||||
before do
|
before do
|
||||||
subject.format :json
|
subject.format :json
|
||||||
subject.formatter :json, Grape::Formatter::ActiveModelSerializers
|
subject.formatter :json, Grape::Formatter::ActiveModelSerializers
|
||||||
|
|
||||||
ActiveRecord::Base.configurations.merge!('test' => {'adapter' => 'nulldb'})
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def app
|
def app
|
||||||
|
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
ActiveRecord::Schema.define(version: 20130403105356) do
|
|
||||||
create_table "users", force: true do |t|
|
|
||||||
t.string "username"
|
|
||||||
t.string "first_name"
|
|
||||||
t.string "last_name"
|
|
||||||
|
|
||||||
t.datetime "created_at"
|
|
||||||
t.datetime "updated_at"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
@ -1,15 +1,28 @@
|
||||||
require 'active_model'
|
|
||||||
|
|
||||||
class User < ActiveRecord::Base
|
class User
|
||||||
|
include ActiveModel::SerializerSupport
|
||||||
attr_accessor :first_name, :last_name, :password, :email
|
attr_accessor :first_name, :last_name, :password, :email
|
||||||
|
|
||||||
|
def initialize(params={})
|
||||||
|
params.each do |k,v|
|
||||||
|
instance_variable_set("@#{k}", v) unless v.nil?
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class UserSerializer < ActiveModel::Serializer
|
class UserSerializer < ActiveModel::Serializer
|
||||||
attributes :first_name, :last_name
|
attributes :first_name, :last_name
|
||||||
end
|
end
|
||||||
|
|
||||||
class BlogPost < ActiveRecord::Base
|
class BlogPost
|
||||||
|
include ActiveModel::SerializerSupport
|
||||||
attr_accessor :title, :body
|
attr_accessor :title, :body
|
||||||
|
|
||||||
|
def initialize(params={})
|
||||||
|
params.each do |k,v|
|
||||||
|
instance_variable_set("@#{k}", v) unless v.nil?
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class BlogPostSerializer < ActiveModel::Serializer
|
class BlogPostSerializer < ActiveModel::Serializer
|
||||||
|
|
|
||||||
|
|
@ -4,25 +4,12 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
|
||||||
require 'bundler'
|
require 'bundler'
|
||||||
Bundler.setup :default, :test
|
Bundler.setup :default, :test
|
||||||
|
|
||||||
require 'active_support/core_ext/hash/conversions'
|
|
||||||
require 'active_record'
|
|
||||||
require 'active_model'
|
|
||||||
require "active_model_serializers"
|
require "active_model_serializers"
|
||||||
|
require 'active_support/core_ext/hash/conversions'
|
||||||
require "active_support/json"
|
require "active_support/json"
|
||||||
require 'rspec'
|
require 'rspec'
|
||||||
require 'rack/test'
|
require 'rack/test'
|
||||||
|
|
||||||
ActiveRecord::Base.establish_connection :adapter => :nulldb, :schema => 'db/schema.rb'
|
|
||||||
require 'nulldb_rspec'
|
|
||||||
|
|
||||||
include NullDB::RSpec::NullifiedDatabase
|
|
||||||
|
|
||||||
NullDB.configure do |ndb|
|
|
||||||
def ndb.project_root
|
|
||||||
File.dirname(__FILE__)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
RSpec.configure do |config|
|
RSpec.configure do |config|
|
||||||
config.include Rack::Test::Methods
|
config.include Rack::Test::Methods
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue