Merge pull request #1384 from bf4/fix_ci_failures

Fix db state leaking across tests
This commit is contained in:
Benjamin Fleischer 2015-12-21 17:23:04 -06:00
commit 9909908962
2 changed files with 32 additions and 36 deletions

View File

@ -4,6 +4,24 @@ require 'grape/active_model_serializers'
class ActiveModelSerializers::GrapeTest < Minitest::Test
include Rack::Test::Methods
module Models
def self.model1
ARModels::Post.new(id: 1, title: 'Dummy Title', body: 'Lorem Ipsum')
end
def self.model2
ARModels::Post.new(id: 2, title: 'Second Dummy Title', body: 'Second Lorem Ipsum')
end
def self.all
@all ||=
begin
model1.save!
model2.save!
ARModels::Post.all
end
end
end
class GrapeTest < Grape::API
format :json
@ -11,18 +29,17 @@ class ActiveModelSerializers::GrapeTest < Minitest::Test
resources :grape do
get '/render' do
render ARModels::Post.new(title: 'Dummy Title', body: 'Lorem Ipsum')
render Models.model1
end
get '/render_with_json_api' do
post = ARModels::Post.new(title: 'Dummy Title', body: 'Lorem Ipsum')
post = Models.model1
render post, meta: { page: 1, total_pages: 2 }, adapter: :json_api
end
get '/render_array_with_json_api' do
post = ARModels::Post.create(title: 'Dummy Title', body: 'Lorem Ipsum')
post.dup.save
render ARModels::Post.all, adapter: :json_api
posts = Models.all
render posts, adapter: :json_api
end
end
end
@ -34,7 +51,7 @@ class ActiveModelSerializers::GrapeTest < Minitest::Test
def test_formatter_returns_json
get '/grape/render'
post = ARModels::Post.new(title: 'Dummy Title', body: 'Lorem Ipsum')
post = Models.model1
serializable_resource = serializable(post)
assert last_response.ok?
@ -44,7 +61,7 @@ class ActiveModelSerializers::GrapeTest < Minitest::Test
def test_render_helper_passes_through_options_correctly
get '/grape/render_with_json_api'
post = ARModels::Post.new(title: 'Dummy Title', body: 'Lorem Ipsum')
post = Models.model1
serializable_resource = serializable(post, serializer: ARModels::PostSerializer, adapter: :json_api, meta: { page: 1, total_pages: 2 })
assert last_response.ok?
@ -54,36 +71,12 @@ class ActiveModelSerializers::GrapeTest < Minitest::Test
def test_formatter_handles_arrays
get '/grape/render_array_with_json_api'
expected = {
'data' => [
{
id: '1',
type: 'ar_models_posts',
attributes: {
title: 'Dummy Title',
body: 'Lorem Ipsum'
},
relationships: {
comments: { data: [] },
author: { data: nil }
}
},
{
id: '2',
type: 'ar_models_posts',
attributes: {
title: 'Dummy Title',
body: 'Lorem Ipsum'
},
relationships: {
comments: { data: [] },
author: { data: nil }
}
}
]
}
posts = Models.all
serializable_resource = serializable(posts, adapter: :json_api)
assert last_response.ok?
assert_equal expected.to_json, last_response.body
assert_equal serializable_resource.to_json, last_response.body
ensure
ARModels::Post.delete_all
end
end

View File

@ -153,6 +153,9 @@ module ActiveModel
}
assert_equal expected, actual
ensure
::ARModels::Post.delete_all
::ARModels::Comment.delete_all
end
class NamespacedResourcesTest < Minitest::Test