Lucas Hosseini
4bba16bf4e
Factor with_adapter + force cache clear before each test.
2015-08-28 17:00:24 +02:00
João Moura
64168cbecd
Merge pull request #1081 from beauby/jsonapi-singular-plural-config
...
Add configuration option to set resource type to singular/plural
2015-08-28 07:47:55 -03:00
Benjamin Fleischer
d315151e8a
Fix warnings
...
JRuby-specific: fix 'warning: (...) interpreted as grouped expression'
2015-08-26 09:22:02 -05:00
Benjamin Fleischer
9aad8b4d29
Cleanup CaptureWarnings after_run
2015-08-26 09:19:36 -05:00
Benjamin Fleischer
a8e9bb1c14
Remove uniq on warnings that confused output
2015-08-26 09:19:36 -05:00
Benjamin Fleischer
530a1bdfd7
Compartmentalize test helper support
2015-08-26 09:19:36 -05:00
João Moura
af280abbb7
Merge pull request #1066 from rails-api/appveyor
...
Adding appveyor to the project
2015-08-26 04:46:16 -03:00
Lucas Hosseini
91235ba7bc
Add configuration option to set resource type to singular/plural with jsonapi.
2015-08-24 22:55:22 +02:00
Benjamin Fleischer
dc4ee94fea
Add ArraySerializer#object like Serializer
2015-08-24 13:51:46 -05:00
João Moura
87c47f8fdc
Merge pull request #1041 from bacarini/master
...
Adding pagination links
2015-08-22 13:38:32 -03:00
Eric Guo
30463f88fa
Make testing suite running and pass in Windows
...
thanks @bf4 give many help and suggestion, original PR https://github.com/rails-api/active_model_serializers/pull/1014
2015-08-21 21:07:52 +08:00
Bruno Bacarini
d50262edbe
test pagination links the way the controller does
2015-08-20 11:32:03 -03:00
Bruno Bacarini
01eab3bdb4
send whole request context to model serializer
2015-08-19 10:48:48 -03:00
Bruno Bacarini
5031eb9f96
add test to prev and first with additional params
2015-08-18 19:04:04 -03:00
Bruno Bacarini
2c2f948fa0
Add pagination links automatically
...
Pagination links will be included in your response automatically as long
as the resource is paginated using Kaminari or WillPaginate
and if you are using a JSON-API adapter. The others adapters does not have this feature.
2015-08-18 19:04:04 -03:00
Bruno Bacarini
a41d90cce4
add self to pagination links
2015-08-18 19:04:04 -03:00
Bruno Bacarini
e0d050d2af
remove resource and options attr_reader from array_serialize
2015-08-18 19:04:03 -03:00
Bruno Bacarini
7be25fef14
include query_parameters on pagination links as well
2015-08-18 19:04:03 -03:00
Bruno Bacarini
e62a7d6f34
return complete URIs on pagination links
2015-08-18 19:04:03 -03:00
Bruno Bacarini
331218d1c3
add test to class of pagination links
2015-08-18 19:04:03 -03:00
Bruno Bacarini
e040d6fcce
add action test to pagination links
2015-08-18 19:04:02 -03:00
Bruno Bacarini
1fe8b06986
exchange pagination class to inside json_api scope
2015-08-18 19:04:02 -03:00
Benjamin Fleischer
215fb85c7f
Test caller line parsing and digesting
2015-08-18 17:32:29 -04:00
Benjamin Fleischer
dca286b0ec
Lead by example: lint PORO model
2015-08-18 12:59:12 -04:00
Aaron Lerch
35c8f0d835
Update fragment cache to support namespaced objects
2015-08-17 17:12:30 -04:00
Mikhail Topolskiy
e8e4bdefd2
Use underscored json_root
2015-08-13 20:31:48 +03:00
Josh Lane
033ce8e88d
allow for a type attribute
...
* "namespace" json_api specific type method
2015-08-11 08:33:05 -07:00
Josh Lane
f6e3d4e1f9
allow id attribute to be overriden
2015-08-04 09:22:05 -07:00
João Moura
c703d0f35c
Merge pull request #985 from bolshakov/feature/each_association
...
Associations implementation refactoring
2015-07-31 10:57:03 -03:00
João M. D. Moura
88eabdf6ac
fixing tests by using a Profile intance to avoid unrelated warning
2015-07-31 03:28:50 -03:00
João Moura
b78126565c
Merge pull request #954 from bf4/encapsulate_serialization
...
Encapsulate serialization in ActiveModel::SerializableResource
2015-07-31 03:09:58 -03:00
João Moura
7bc16666fe
Merge pull request #972 from bf4/capture_app_warnings
...
Capture app warnings on test run
2015-07-30 22:24:08 -03:00
Артём Большаков
2952a332e0
Associations refactoring
...
* Move all associations related code from Serializer class to Associations module
* Introduce Reflection class hierarchy
* Introduce Association class
* Rid off Serializer#each_association
* Introduce Serializer#associations enumerator
2015-07-30 11:20:29 +03:00
Benjamin Fleischer
df140293d3
Remove unused controller rescue_with_handler
...
Per
https://github.com/rails-api/active_model_serializers/pull/954#discussion_r32589882
Ref 917, 918
2015-07-23 11:06:11 -05:00
Benjamin Fleischer
a66df3009a
Encapsulate serialization in ActiveModel::SerializableResource
...
Usage: ActiveModel::SerializableResource.serialize(resource, options)
2015-07-23 11:05:23 -05:00
João Moura
9817a5b595
updating tests
2015-07-23 02:11:34 -04:00
João Moura
6266b6a002
Merge pull request #1006 from bf4/inflector-testing
...
Fix adapter inflection bug for api -> API
2015-07-20 23:20:00 -04:00
vyrak bunleang
1b09d0ec42
array serializer uses root option for json_key if available
2015-07-16 15:34:19 -06:00
vyrak bunleang
1d31096600
include old implicit serialization custom root tests with failing empty array test
2015-07-16 15:32:09 -06:00
Marek Pietrucha
e5ccb8e4dd
root option is working ( fixed #986 )
2015-07-16 15:32:09 -06:00
Jiajia Wang
91ffec41af
Add test for ArraySerializer json_key method
...
test json key when resource is empty
2015-07-16 11:11:14 +10:00
Benjamin Fleischer
e7174a7820
Capture and print app warnings on test run
...
Configure not to fail the test, for now
2015-07-14 01:05:26 -05:00
Rodrigo Ra
851d121ea8
fix transient test failures
2015-07-13 22:44:04 -03:00
João Moura
775737619a
Merge pull request #996 from bf4/serializer_lint
...
Add linter for serializable resource
2015-07-13 19:37:39 -04:00
Rob McFadzean
506739d4fb
Added a (failing) test for when inflecting API
2015-07-10 11:23:55 +09:30
Benjamin Fleischer
28174e297d
Add linter for serializable resource
2015-07-09 11:20:19 -05:00
João Moura
7fb94234a8
adding json-api meta test help
2015-07-08 10:15:14 -03:00
Rodrigo Ra
df63b59512
Add key option to serializer associations
2015-07-05 19:47:58 -03:00
João Moura
ac1991fd6b
Merge pull request #982 from bf4/typo
...
Fix typo
2015-07-02 19:06:32 -03:00
Benjamin Fleischer
58a237ead1
Fix typo
2015-07-02 16:35:27 -05:00
Benjamin Fleischer
1bf2825909
Remove unused PORO#to_param
2015-07-02 16:34:10 -05:00
João Moura
952d8adcdc
Merge pull request #978 from regonn/fix-generators-template
...
fix generators template bug
2015-07-02 00:31:55 -03:00
regonn
59a177e8b5
add serializer template test
2015-07-01 13:42:16 +09:00
Hugo Almeida
f25071ca70
Fixes virtual value not being used
2015-06-29 10:48:12 +09:00
Rodrigo Ra
7412c8d1c8
Fix transient tests failures
2015-06-26 09:33:53 -03:00
Benjamin Fleischer
17d560eae4
Account for different handling of symbol keys in Rails 4.0
...
Comparing as a JSON string vs. as the Hash that is convert to JSON
works around the different Hash representations.
This likely has to do with the introduction of
config.action_dispatch.perform_deep_munge in Rails 4.1
See Rails issue 13420
1) Failure:
ActiveModel::Serializer::Adapter::Json::HasManyTestTest#test_has_many_with_no_serializer
[active_model_serializers/test/adapter/json/has_many_test.rb:36]:
--- expected
+++ actual
@@ -1 +1 @@
-{:id=>42, :tags=>[{"attributes"=>{"id"=>1, "name"=>"#hash_tag"}}]}
+{:id=>42, :tags=>[{"attributes"=>{:id=>1, :name=>"#hash_tag"}}]}
2) Failure:
ActiveModel::Serializer::AssociationsTest#test_has_many_with_no_serializer
[active_model_serializers/test/serializers/associations_test.rb:74]:
--- expected
+++ actual
@@ -1 +1 @@
-[{"attributes"=>{"name"=>"#hashtagged"}}]
+[{"attributes"=>{:name=>"#hashtagged"}}]
2015-06-26 02:16:35 -03:00
João Moura
741c4a4b51
updating tests to work with new virtual_value implementation
2015-06-26 02:16:35 -03:00
Benjamin Fleischer
cf77786da2
Fix #955
2015-06-26 02:16:34 -03:00
Justin Aiken
3710c32cee
Add some failing tests around has_many assocs...
...
..where no serializer is defined for the thing that is has_many'd
2015-06-26 02:16:34 -03:00
João Moura
d589268f95
adding new tests to cover array and object rendering
2015-06-26 02:15:42 -03:00
Aaron Lerch
6892ca39c9
Default the generated cache key to use custom #strftime instead of raw #to_s to achieve more accurate precision
2015-06-25 23:40:18 -04:00
Benjamin Fleischer
81935c8114
Restore has_one to generator
...
per #822 since it was readded in #725
2015-06-25 14:00:27 -05:00
João Moura
f67fd976ec
Removing/Updating tests based on new FlattenJson adapter
2015-06-18 19:18:11 -03:00
João Moura
65e0d79195
pluralising root key when using arraySerializer
2015-06-15 15:59:01 -03:00
João Moura
329691276a
disabling custom root option
2015-06-15 15:58:39 -03:00
João Moura
d061b2e9f4
enabling flatten json as default adapter
2015-06-15 13:49:24 -03:00
João Moura
1ea5608e78
updating tests to match new adapters structure
2015-06-15 13:39:36 -03:00
João Moura
37114e9d5b
removing unnecessary root parameter on fragment cache
2015-06-13 15:48:33 -03:00
Lachlan Sylvester
97e82c3eb7
use model name to determine the type
2015-06-13 19:45:46 +10:00
João Moura
de23501995
Merge pull request #949 from edwardloveall/el-870-fix
...
Don't pass serializer option to associated serializers
2015-06-13 03:01:25 -03:00
João Moura
6251b90d25
Merge pull request #902 from cristianbica/serializer_file_digest
...
Added serializer file digest to the cache_key
2015-06-12 18:56:43 -03:00
Benjamin Fleischer
14439aada4
Use model that doesn't fail with race condition
...
For some reason, the post would sometimes be serialized as
"{\"id\":\"1\",
+ \"type\":\"posts\", \"attributes\":{\"title\":\"New Post\",\"body\":\"Body\"},
\"comments\":[{\"id\":1,\"body\":\"ZOMG A COMMENT\"}],
\"blog\":{\"id\":999,\"name\":\"Custom blog\"},
\"author\":{\"id\":1,\"name\":\"Joao Moura.\"}}"
instead of:
"{\"id\":1,
- \"title\":\"New Post\",\"body\":\"Body\",
\"comments\":[{\"id\":1,\"body\":\"ZOMG A COMMENT\"}],
\"blog\":{\"id\":999,\"name\":\"Custom blog\"},\
"author\":{\"id\":1,\"name\":\"Joao Moura.\"}}"
To reproduce prior to this PR:
SEED=55284 rake
1) Failure:
ActionController::Serialization::ExplicitSerializerTest#test_render_using_explicit_each_serializer
[active_model_serializers/test/action_controller/explicit_serializer_test.rb:139]:
--- expected
+++ actual
@@ -1 +1 @@
-"{\"id\":1,\"title\":\"New
Post\",\"body\":\"Body\",\"comments\":[{\"id\":1,\"body\":\"ZOMG A
COMMENT\"}],\"blog\":{\"id\":999,\"name\":\"Custom
blog\"},\"author\":{\"id\":1,\"name\":\"Joao Moura.\"}}"
+"{\"id\":\"1\",\"type\":\"posts\",\"attributes\":{\"title\":\"New
Post\",\"body\":\"Body\"},\"comments\":[{\"id\":1,\"body\":\"ZOMG A
COMMENT\"}],\"blog\":{\"id\":999,\"name\":\"Custom
blog\"},\"author\":{\"id\":1,\"name\":\"Joao Moura.\"}}"
137 runs, 211 assertions, 1 failures, 0 errors, 0 skips
rake aborted!
Command failed with status (1): [ruby -I"lib:test"
-r./test/test_helper.rb
"/$HOME/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/rake/rake_test_loader.rb"
"test/action_controller/adapter_selector_test.rb"
"test/action_controller/explicit_serializer_test.rb"
"test/action_controller/json_api_linked_test.rb"
"test/action_controller/rescue_from_test.rb"
"test/action_controller/serialization_scope_name_test.rb"
"test/action_controller/serialization_test.rb"
"test/adapter/fragment_cache_test.rb"
"test/adapter/json/belongs_to_test.rb"
"test/adapter/json/collection_test.rb"
"test/adapter/json/has_many_test.rb"
"test/adapter/json_api/belongs_to_test.rb"
"test/adapter/json_api/collection_test.rb"
"test/adapter/json_api/has_many_embed_ids_test.rb"
"test/adapter/json_api/has_many_explicit_serializer_test.rb"
"test/adapter/json_api/has_many_test.rb"
"test/adapter/json_api/has_one_test.rb"
"test/adapter/json_api/linked_test.rb" "test/adapter/json_test.rb"
"test/adapter/null_test.rb" "test/adapter_test.rb"
"test/array_serializer_test.rb" "test/serializers/adapter_for_test.rb"
"test/serializers/associations_test.rb"
"test/serializers/attribute_test.rb"
"test/serializers/attributes_test.rb" "test/serializers/cache_test.rb"
"test/serializers/configuration_test.rb"
"test/serializers/fieldset_test.rb"
"test/serializers/generators_test.rb" "test/serializers/meta_test.rb"
"test/serializers/options_test.rb"
"test/serializers/serializer_for_test.rb"
"test/serializers/urls_test.rb" ]
/$HOME/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in
`eval'
/$HOME/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in
`<main>'
Tasks: TOP => default => test
(See full trace by running task with --trace)
2015-06-12 11:27:28 -05:00
Benjamin Fleischer
a5554e0d9f
Use a different controller in different tests
...
A number of test were defining and using the same controller
MyController = Class.new(ActionController::Base)
which was causing some state to leak across tests.
2015-06-12 11:27:20 -05:00
Santiago Pastorino
460150fef2
Fix No such file or directory tmp/cache issue in tests
2015-06-10 21:23:23 -03:00
Santiago Pastorino
4752e6723a
Make resource generator invoke serializer generator
2015-06-10 20:45:33 -03:00
Santiago Pastorino
e117615465
This should be MAJOR >= 4
2015-06-10 20:26:37 -03:00
Santiago Pastorino
3fb55db1cd
Load generators on test_helper and avoid repetead code
2015-06-10 20:26:37 -03:00
Santiago Pastorino
cbc7f114c0
Move generators test to it's own directory
2015-06-10 20:26:24 -03:00
Edward Loveall
0f0ef2baf5
Don't pass serializer option to associated serializers
...
Fixes #870
Commit af81a40 introduced passing a serializer's 'options'
along to its associated model serializers.
Thus, an explicit 'each_serializer' passed to render for a
singular resource would be passed on as the implicit 'serializer'
for its associations.
With @bf4
2015-06-10 18:20:34 -04:00
João Moura
7b0a85fdda
Merge pull request #936 from insphire/fix-meta-with-custom-root
...
Include meta when using json adapter with custom root
2015-06-08 19:55:03 -03:00
Thiago Fernandes Massa
5fac4d8f33
Update poro.rb
2015-06-05 10:50:35 +02:00
Chris Branson
d34bba07b9
Ensure the adapters honor a custom root option and include meta when required
2015-06-04 17:33:41 +01:00
João Moura
a40df8fd3d
reverting PR #909 and adding json api usage advise on readme
2015-05-27 18:35:00 -03:00
Benedikt Deicke
4f576a1463
Adjusts JsonApi adapter to serialize relationships in a nested relationships hash
2015-05-21 16:35:35 +02:00
Benedikt Deicke
ca41901fb8
Adjusts JsonApi adapter to serialize attributes in a nested attributes hash
2015-05-21 16:23:01 +02:00
João Moura
5f05944826
Merge pull request #918 from aceofsales/rescue_from
...
Adding rescue_with_handler to clear state
2015-05-20 23:39:45 -03:00
Guillermo Iguaran
f7fb4dbb98
Merge pull request #909 from joaomdmoura/json-api-default
...
Defining Json-API Adapter as Default
2015-05-20 20:50:19 -05:00
Ryan Schlesinger
a5db2c52c5
Clearer exception description
2015-05-20 09:19:32 -07:00
Ryan Schlesinger
9355416ad0
Add rescue_from handler to clear state
...
Fixes #917
2015-05-19 17:23:29 -07:00
groyoh
5393e5d235
Prevent possible duplicated attributes
...
Calling ActiveModel::Serializer.attributes or ActiveModel::Serializer.attribute
methods multiple times won't create duplicated attributes anymore.
2015-05-18 22:42:10 +02:00
João Moura
d981ee5106
Merge pull request #880 from groyoh/serializer-inheritance
...
Inabling subclasses serializers to inherit attributes
2015-05-18 11:34:10 -03:00
groyoh
a794a06fa5
Fixed #911
2015-05-17 22:47:44 +02:00
João Moura
9b502a4ae0
changing tests name to support new default adapter
2015-05-11 16:23:38 -03:00
João Moura
2c9c36e21f
adding json_api as default adapter
2015-05-10 03:58:18 -03:00
João Moura
46ae776175
Merge pull request #897 from imanel/patch-1
...
Allow to define custom serializer for given class
2015-05-10 03:28:14 -03:00
Cristian Bica
7a62d31777
Added serializer file digest to the cache_key
...
Fixes #901
2015-05-06 08:37:18 +03:00
João Moura
ece43f344a
Merge pull request #892 from groyoh/fix-json-nil-association
...
Fixed a bug that appeared when json adapter serialize a nil association
2015-05-05 11:04:26 -03:00
Bernard Potocki
c91b649504
Allow to define custom serializer for given class by defining #serializer_class method in serialized object's class. Resolves #515 .
2015-05-03 17:47:52 +02:00
Attila Domokos
bd06647b31
Adding a test to cover 'meta' and 'meta_key' attr_readers
2015-04-30 22:17:19 -05:00
groyoh
5dcdfaaef3
Fixed a bug that appeared when json adapter serialize a nil association
2015-04-28 22:20:21 +02:00