mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-22 22:06:50 +00:00
The `assert_serializer` test helper was added in 0.9.0.apha1[1],
and was not included in 0.10.
This patch brings back the `assert_serializer` test helper. This is the last
revision[2] that has the helper. The original helper was used as base.
[1]: https://github.com/rails-api/active_model_serializers/pull/596
[2]: 610aeb2e92
- Create the AssertSerializer
- Use the Test namespace
- Make the tests pass on the Rails master
- Rails 5 does not include `assert_template` but we need this on the tests of
the helper.
- This add the `rails-controller-testing` to keep support on `assert_template`.
- Only load test helpers in the test environment
30 lines
880 B
Markdown
30 lines
880 B
Markdown
# How to test
|
|
|
|
## Test helpers
|
|
|
|
ActiveModelSerializers provides a `assert_serializer` method to be used on your controller tests to
|
|
assert that a specific serializer was used.
|
|
|
|
```ruby
|
|
class PostsControllerTest < ActionController::TestCase
|
|
test "should render post serializer" do
|
|
get :index
|
|
assert_serializer "PostSerializer"
|
|
# # return a custom error message
|
|
# assert_serializer "PostSerializer", "PostSerializer not rendered"
|
|
#
|
|
# # assert that the instance of PostSerializer was rendered
|
|
# assert_serializer PostSerializer
|
|
#
|
|
# # assert that the "PostSerializer" serializer was rendered
|
|
# assert_serializer :post_serializer
|
|
#
|
|
# # assert that the rendered serializer starts with "Post"
|
|
# assert_serializer %r{\APost.+\Z}
|
|
#
|
|
# # assert that no serializer was rendered
|
|
# assert_serializer nil
|
|
end
|
|
end
|
|
```
|