mirror of
https://github.com/samsonjs/grape-active_model_serializers.git
synced 2026-04-09 11:15:49 +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 "active_model_serializers", ">= 0.8.1"
|
||||
|
||||
gem.add_development_dependency "activerecord"
|
||||
gem.add_development_dependency "rspec", "~> 2.12.0"
|
||||
gem.add_development_dependency "rack-test"
|
||||
gem.add_development_dependency "rake"
|
||||
gem.add_development_dependency "activerecord-nulldb-adapter"
|
||||
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
|
||||
subject.format :json
|
||||
subject.formatter :json, Grape::Formatter::ActiveModelSerializers
|
||||
|
||||
ActiveRecord::Base.configurations.merge!('test' => {'adapter' => 'nulldb'})
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
def initialize(params={})
|
||||
params.each do |k,v|
|
||||
instance_variable_set("@#{k}", v) unless v.nil?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class UserSerializer < ActiveModel::Serializer
|
||||
attributes :first_name, :last_name
|
||||
end
|
||||
|
||||
class BlogPost < ActiveRecord::Base
|
||||
class BlogPost
|
||||
include ActiveModel::SerializerSupport
|
||||
attr_accessor :title, :body
|
||||
|
||||
def initialize(params={})
|
||||
params.each do |k,v|
|
||||
instance_variable_set("@#{k}", v) unless v.nil?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class BlogPostSerializer < ActiveModel::Serializer
|
||||
|
|
|
|||
|
|
@ -4,25 +4,12 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
|
|||
require 'bundler'
|
||||
Bundler.setup :default, :test
|
||||
|
||||
require 'active_support/core_ext/hash/conversions'
|
||||
require 'active_record'
|
||||
require 'active_model'
|
||||
require "active_model_serializers"
|
||||
require 'active_support/core_ext/hash/conversions'
|
||||
require "active_support/json"
|
||||
require 'rspec'
|
||||
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|
|
||||
config.include Rack::Test::Methods
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue