From a1ae2166deebe243394e0a86d33e8444128f4b28 Mon Sep 17 00:00:00 2001 From: Jonathan Richard Henry Evans Date: Wed, 21 Aug 2013 10:31:11 +0100 Subject: [PATCH] Changed tests to use Plain Old Ruby Objects instead of ActiveRecord models to make testing easier. Gets rid of NullDB and ActiveRecord development dependencies --- grape-active_model_serializers.gemspec | 2 -- spec/db/schema.rb | 18 ------------------ spec/grape_ams_spec.rb | 2 -- spec/schema.rb | 10 ---------- spec/spec_fakes.rb | 19 ++++++++++++++++--- spec/spec_helper.rb | 15 +-------------- 6 files changed, 17 insertions(+), 49 deletions(-) delete mode 100644 spec/db/schema.rb delete mode 100644 spec/schema.rb diff --git a/grape-active_model_serializers.gemspec b/grape-active_model_serializers.gemspec index f4ff617..746ad73 100644 --- a/grape-active_model_serializers.gemspec +++ b/grape-active_model_serializers.gemspec @@ -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 diff --git a/spec/db/schema.rb b/spec/db/schema.rb deleted file mode 100644 index 660fd9a..0000000 --- a/spec/db/schema.rb +++ /dev/null @@ -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 diff --git a/spec/grape_ams_spec.rb b/spec/grape_ams_spec.rb index c22ddca..282b29a 100644 --- a/spec/grape_ams_spec.rb +++ b/spec/grape_ams_spec.rb @@ -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 diff --git a/spec/schema.rb b/spec/schema.rb deleted file mode 100644 index 215c183..0000000 --- a/spec/schema.rb +++ /dev/null @@ -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 \ No newline at end of file diff --git a/spec/spec_fakes.rb b/spec/spec_fakes.rb index 1fdc393..defd395 100644 --- a/spec/spec_fakes.rb +++ b/spec/spec_fakes.rb @@ -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 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 93ff130..ad162cd 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -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