json_api_client_mock 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ded8a7a37ecd597a987172d22a4497699d008675
4
- data.tar.gz: 88339c610ac9c50d9a41eac4e746becafd97e8f2
3
+ metadata.gz: 844a5078f3405888a37610b10c0a7198f2e0d600
4
+ data.tar.gz: 026b8a493d59ca83bc36313ffd86f81ec8782386
5
5
  SHA512:
6
- metadata.gz: a70ae80ea4e04c6eba89a8b8e482a1ac559a34fe7499dda86c3e621032853ebeebc447145fa1312e5bd93dfbe96c7abb61d9f44881d78a81dec484f78f4fe2de
7
- data.tar.gz: f89e5e46ddc5bb09b6244be88a6aa6c61e41bee6afe57e6f23d517127e3177bd914ec2fff10b81488a327a7d2addf461a62e147ea388567821b8846e977fb9f0
6
+ metadata.gz: d3465ab1c2b5704d5fb26515e6d321da9f40885ee518982148e0b3f4b69ba397163959184e4d76e1adc9097ad2578460c004582dda85cb8c2add91e85f5a2fde
7
+ data.tar.gz: 1e3ff9b9863978837356aae7d98c7ef70341a5fe37ffde8a3ffd83b0c457994ab0f81b74d5d41203cb1e00f97e744b207dae9b93fefc1141a935240b7319c25d
data/README.md CHANGED
@@ -39,6 +39,24 @@ MyResource.set_test_results([
39
39
 
40
40
  MyResource.where(condition1: 'value1', condition2: 'value2').all
41
41
  => [<#MyResource foo:'asdf', qwer:'bar'>]
42
+ ```
43
+ To set the response meta for `MyResource`:
44
+
45
+ ```
46
+ MyResource.set_test_results([
47
+ {foo: 'asdf', 'qwer': 'bar'}
48
+ ], {
49
+ condition1: 'value1',
50
+ condition2: 'value2',
51
+ }, {
52
+ meta_attribute: 1000
53
+ })
54
+
55
+ response = MyResource.where(condition1: 'value1', condition2: 'value2').all
56
+ => [<#MyResource foo:'asdf', qwer:'bar'>]
57
+ puts response.meta
58
+ => { :meta_attribute => 1000 }
59
+ ```
42
60
 
43
61
  # condition order should not matter
44
62
  MyResource.where(condition2: 'value2', condition1: 'value1').all
@@ -13,16 +13,17 @@ module JsonApiClientMock
13
13
  def execute(query)
14
14
  if results = find_test_results(query)
15
15
  OpenStruct.new(:body => {
16
- query.klass.table_name => results[:results]
16
+ query.klass.table_name => results[:results],
17
+ "meta" => results[:meta]
17
18
  })
18
19
  else
19
20
  raise MissingMock, missing_message(query)
20
21
  end
21
22
  end
22
23
 
23
- def set_test_results(klass, results, conditions = nil)
24
+ def set_test_results(klass, results, conditions = nil, response_meta = {})
24
25
  self.class.mocks[klass.name] ||= []
25
- self.class.mocks[klass.name].unshift({results: results, conditions: conditions})
26
+ self.class.mocks[klass.name].unshift({results: results, conditions: conditions, meta: response_meta })
26
27
  end
27
28
 
28
29
  def clear_test_results
@@ -8,8 +8,8 @@ module JsonApiClientMock
8
8
  end
9
9
 
10
10
  module ClassMethods
11
- def set_test_results(results, conditions = nil)
12
- connection.set_test_results(self, results, conditions)
11
+ def set_test_results(results, conditions = nil, meta = {})
12
+ connection.set_test_results(self, results, conditions, meta)
13
13
  end
14
14
 
15
15
  def clear_test_results
@@ -1,3 +1,3 @@
1
1
  module JsonApiClientMock
2
- VERSION = "0.2.4"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -50,6 +50,13 @@ class JsonApiClientMockTest < MiniTest::Unit::TestCase
50
50
  assert_equal('asdf', first.qwer)
51
51
  end
52
52
 
53
+ def test_meta_response
54
+ BarResource.set_test_results([{foo: 'bar', qwer: 'asdf'}], {foo: 'bar'}, {meta_attr: 1000})
55
+ results = BarResource.where(foo: 'bar').all
56
+
57
+ assert_equal(1000, results.meta[:meta_attr])
58
+ end
59
+
53
60
  def test_by_conditional_request_path_mocking
54
61
  BarResource.set_test_results([{foo: 'bar', qwer: 'asdf'}], {path: 'bar_resources/10'})
55
62
  assert_raises(JsonApiClientMock::MissingMock) do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_api_client_mock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Ching
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-09 00:00:00.000000000 Z
11
+ date: 2015-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_api_client