Benjamin Fleischer
ac13053790
Merge branch 'maurogeorge-patch-09'
...
Rebased from cb3afa93ffa75a65b080c764547020bee2f2f191 to 9aed6ac63
and resolved conflicts by Benjamin Fleischer (bf4)
2016-01-15 00:47:06 -06:00
Mauro George
5058694f4a
Create assert_response_schema test helper
...
It is a common pattern to use JSON Schema to validate a API response[1], [2]
and [3].
This patch creates the `assert_response_schema` test helper that helps people do
this kind of validation easily on the controller tests.
[1]: https://robots.thoughtbot.com/validating-json-schemas-with-an-rspec-matcher
[2]: https://github.com/sharethrough/json-schema-rspec
[3]: https://github.com/rails-api/active_model_serializers/issues/1011#issuecomment-127608121
2016-01-15 00:45:56 -06:00
Benjamin Fleischer
9aed6ac634
Merge pull request #1390 from bf4/maurogeorge-patch-02
...
Bring back assert_serializer for controller testing
2016-01-14 17:54:31 -06:00
Benjamin Fleischer
f5e2b991bf
Remove outdated regression test
...
Per https://github.com/rails-api/active_model_serializers/pull/1390#discussion_r48322329
2016-01-13 21:47:08 -06:00
Benjamin Fleischer
9779185d57
Restore test-local subscriber teardown
...
This commit revises 0ce4ad35a12ffd858f6a5d7bbeb48fc1e2cfac92
`Remove unused/unusable unsubscribe since we don't want to unsubscribe`
Looking at Rails implementation of assert_template
which was likely the inspiration for assert_serializer:
f756b33c13/lib/rails/controller/testing/template_assertions.rb
Ref:
- https://github.com/rails-api/active_model_serializers/pull/596
- https://github.com/rails-api/active_model_serializers/pull/620
- https://github.com/rails-api/active_model_serializers/issues/616
2016-01-13 21:47:08 -06:00
Benjamin Fleischer
e60937bc2f
Remove duplicate documentation
2016-01-13 21:47:08 -06:00
Benjamin Fleischer
28f314aef2
Surface logging event name for re-use
2016-01-13 21:47:08 -06:00
Benjamin Fleischer
a43cff4ae3
Remove assert_template from Test::SerializerTest
...
Rails 5 removed this assertion after considering it not
a good testing practice. https://github.com/rails/rails/issues/18950
Rather that add a gem to our Rails 5 matrix to support it,
the assertion is made that the template is rendering using
active support notifications.
Also, to clarify that the action 'render_template' is unrelated to the
event name '!render_template.action_view', I renamed the actions
so that would not look like event names.
2016-01-13 21:47:08 -06:00
Benjamin Fleischer
f59431439d
Remove unused/unusable unsubscribe since we don't want to unsubscribe
...
In 0.9 (which this implementation is based on), the instrumentation
was `!serialize.active_model_serializers`.
https://github.com/rails-api/active_model_serializers/pull/596/
The '!' in the event name meant the event wasn't meant for
production.
https://github.com/rails/rails/pull/10446/files#r4075679
Since we intend the event for production and have a log subscriber,
if we unsubscribe from `render.active_model_serializers`, we'll
break other tests that are relying on that event being subscribed.
2016-01-13 20:54:22 -06:00
Benjamin Fleischer
ef09c9043f
Small perf, readability refactor to Test::Serializer
2016-01-13 20:54:22 -06:00
Benjamin Fleischer
37a6d2b245
Be consisent in usage of ActiveSupport::Autoload
2016-01-13 20:54:22 -06:00
Mauro George
c0b99c980c
Bring back assert_serializer for controller testing
...
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
2016-01-13 20:54:22 -06:00
Benjamin Fleischer
d448481b6b
Merge pull request #1386 from bf4/warnings_fix_again
...
Remove capture_warnings testing. Is fickle and Rubocop linting is good enough
2016-01-13 20:17:24 -06:00
Benjamin Fleischer
dde843d162
Add serialization docs PR request note for conditional attributes
2016-01-13 10:19:07 -06:00
Benjamin Fleischer
2f74dd9682
Merge pull request #1432 from biow0lf/patch-1
...
Fix link in ARCHITECTURE.md [ci skip]
2016-01-13 10:00:12 -06:00
Igor Zubkov
aa8e306782
Fix ARCHITECTURE.md
2016-01-13 17:45:18 +02:00
Lucas Hosseini
53c59a1510
Merge pull request #1403 from beauby/conditional-attributes
...
Conditional attributes/associations (if/unless).
2016-01-13 07:50:59 +01:00
Lucas Hosseini
2696557650
Replace Field#included? with Field#excluded?.
2016-01-13 06:20:05 +01:00
Lucas Hosseini
7af198653d
Add tests for conditional attributes/associations.
2016-01-13 06:20:05 +01:00
Chris Nixon
7fbf7e536d
Use condition_type in case statement for included?.
2016-01-13 06:20:05 +01:00
Lucas Hosseini
40ed7b57bd
Factor out ancestor class Field of Attribute and Reflection.
2016-01-13 06:20:04 +01:00
Lucas Hosseini
6860318133
Add support for if/unless on associations.
2016-01-13 06:19:47 +01:00
Lucas Hosseini
a502b5d38b
Add support for if/unless on attributes.
2016-01-13 06:19:28 +01:00
Lucas Hosseini
adaf5b87df
Merge pull request #1248 from beauby/jsonapi-parse
...
JSON API deserialization.
2016-01-13 06:18:52 +01:00
Lucas Hosseini
20a58d7f5c
Add support for JSON API deserialization (experimental).
2016-01-13 05:48:06 +01:00
Benjamin Fleischer
d466466660
Merge pull request #1427 from brigade/defunct-root-name
...
Remove defunct .root_name from test fixtures
2016-01-12 17:25:49 -06:00
Benjamin Fleischer
1d8226098f
Merge pull request #1429 from brigade/association-inheritance
...
Remove unnecessary `dup` in `ActiveModel::Serializer::Associations#associate`
2016-01-12 17:25:41 -06:00
Ben Woosley
8ac1f107f4
Remove unnecessary dup in ActiveModel::Serializer::Associations#associate
...
The `_reflections` are duped on `inherited` - no need to `dup` them
with each addition.
2016-01-12 14:42:07 -08:00
Benjamin Fleischer
e3b9597d1a
Remove warning capture; more trouble than worth
2016-01-11 23:48:40 -06:00
Benjamin Fleischer
2a171da6b9
Hack Minitest to make it less dependent on at_exit
2016-01-11 23:42:45 -06:00
Benjamin Fleischer
3133422654
Add .bundle/ to simplecov exclude
2016-01-11 23:42:45 -06:00
Ben Woosley
c8839f427b
Remove defunct .root_name from test fixtures
...
Was removed elsewhere in
7847d05ecb
2016-01-11 17:16:00 -08:00
Benjamin Fleischer
34e5faa1c4
Merge pull request #1423 from brigade/tidy-tests
...
Tidy up the tests
2016-01-11 18:40:11 -06:00
Ben Woosley
0a6c133d25
Tidy up the tests
...
* Use assert_nil where appropriate
* Lead with the expected value in collection_serializer_test.rb, etc
so that expected/actual in test failure messages are not reversed
2016-01-07 11:21:19 -08:00
Benjamin Fleischer
7d4f0c5c8a
Merge branch 'bf4-consider_association_blocks'
2016-01-03 23:16:49 -06:00
Benjamin Fleischer
41ae5f7b6f
Add 1356 to changelog; given credit for 1336
2016-01-03 23:14:38 -06:00
Benjamin Fleischer
81b1654c4e
Merge pull request #1388 from bf4/restore_docs_from_older_releases
...
Restore docs from older releases
2016-01-03 23:10:41 -06:00
Benjamin Fleischer
b51a43262f
Merge pull request #1370 from beauby/simplify-attributes
...
Simplify attributes handling.
2016-01-03 22:04:44 -06:00
Benjamin Fleischer
df594c630d
Merge pull request #1410 from georgemillo/patch-1
...
Fix broken link in guides
2015-12-31 10:19:11 -06:00
George Millo
fdbc13c2de
fix broken link
2015-12-31 16:44:54 +01:00
Lucas Hosseini
ccb05f11ef
Add changelog.
2015-12-30 17:46:29 +01:00
Lucas Hosseini
77095f2a84
Add ActiveSupport::Autoload extension to Attribute.
2015-12-30 17:44:19 +01:00
Lucas Hosseini
a586a45863
Remove key from Attribute class.
2015-12-30 16:47:10 +01:00
Lucas Hosseini
7d24cbfd3d
Extract latent Attribute object.
2015-12-30 16:47:10 +01:00
Lucas Hosseini
1d4b27f60f
Improve attribute value computation.
2015-12-30 16:47:10 +01:00
Lucas Hosseini
ee0283cb57
Simplify attributes handling.
2015-12-30 16:47:10 +01:00
Lucas Hosseini
7bc66c5334
Merge pull request #1385 from bf4/remove_raw_minitest_test
...
Favor ActiveSupport::TestCase over Minitest::Test
2015-12-30 16:05:57 +01:00
Benjamin Fleischer
a4d5e3885a
Merge pull request #1407 from CorainChicago/fix-link-on-Getting-Started.md
...
Fix link on Getting Started page [ci skip]
2015-12-29 23:07:38 -06:00
CorainChicago
66b068c542
fix link on Getting Started
...
update link on Getting Started to use the relative path
2015-12-29 22:52:22 -06:00
Benjamin Fleischer
d7de53ce30
Consider evaluating association in serializer context
...
For discussion:
Consider evaluating association in serializer context
That way, associations are really just anything that
can be conditionally included. They no longer
have to actually be methods on the object or serializer.
e.g.
```diff
has_many :comments do
- last(1)
+ Comment.active.for_serialization(object).last(1)
end
```
2015-12-29 22:16:42 -06:00