From d0d00d02a032b176284d2387a18663ce5c101f80 Mon Sep 17 00:00:00 2001 From: Lucas Hosseini Date: Mon, 31 Aug 2015 05:11:32 +0200 Subject: [PATCH] Add ActiveRecord-backed fixtures. --- test/fixtures/active_record.rb | 58 ++++++++++++++++++++++++++++++++++ test/test_helper.rb | 6 ++-- 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/active_record.rb diff --git a/test/fixtures/active_record.rb b/test/fixtures/active_record.rb new file mode 100644 index 00000000..e5029c30 --- /dev/null +++ b/test/fixtures/active_record.rb @@ -0,0 +1,58 @@ +require 'active_record' + +ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:') +ActiveRecord::Schema.define do + create_table :posts, force: true do |t| + t.string :title + t.text :body + t.references :author + t.timestamps null: false + end + create_table :authors, force: true do |t| + t.string :name + t.timestamps null: false + end + create_table :comments, force: true do |t| + t.text :contents + t.references :author + t.references :post + t.timestamp null: false + end +end + +module ARModels + class Post < ActiveRecord::Base + has_many :comments + belongs_to :author + end + + class Comment < ActiveRecord::Base + belongs_to :post + belongs_to :author + end + + class Author < ActiveRecord::Base + has_many :posts + end + + class PostSerializer < ActiveModel::Serializer + attributes :id, :title, :body + params :title, :body + + has_many :comments + belongs_to :author + url :comments + end + + class CommentSerializer < ActiveModel::Serializer + attributes :id, :contents + + belongs_to :author + end + + class AuthorSerializer < ActiveModel::Serializer + attributes :id, :name + + has_many :posts + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 1327188e..ce5164c3 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -34,6 +34,8 @@ require 'support/stream_capture' require 'support/rails_app' -require 'fixtures/poro' - require 'support/test_case' + +require 'fixtures/active_record' + +require 'fixtures/poro'