workable_json_assertions 0.0.1 → 0.1.1

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: 60ea365e803d018dbc42e94a4daeebe4271a2f20
4
- data.tar.gz: e03c53f8a8bcc2bdab72bafa799ebfe2c60a3b98
3
+ metadata.gz: d57330f446b4c62d4d243707b7f207b3c3d1a632
4
+ data.tar.gz: 4999fee276b3e4aad72d24ea92329098c9368ae1
5
5
  SHA512:
6
- metadata.gz: 7b7a7cd93529625886034eaba52a6366e1d91d642db0f192ec374bf0d90be4717b4b520ebbc96f5f838cca8fefcd018a4f3af66ee8ba5e1cbbdaa125fcec5bad
7
- data.tar.gz: a51e342767c7f37e76a5367a004ffcdca30362a1d5eb935b486066a22db9fba66225438caa7778ab3a3e1c2bb7ec13f2dddd283df97bf1c600775316826c9b19
6
+ metadata.gz: e2503918bb13ba8dc7080e30d0c2fab24410163f8a08714723260b904cf115b391e6e36bb5690171795b4b627a999f1920f4208922f4fabf5c1d49671a80fd1b
7
+ data.tar.gz: 54f562abb8edf23ba5b39c8b779ee708395c7d00aabbabb9a1947b1544586f18f8c46a5e3bb76dbf652cbff1cabdee3c60fd8e3c0a38e7690b37a70b21c8e5a2
data/README.md CHANGED
@@ -6,7 +6,9 @@ This gem adds basic JSON assertions to your controller tests.
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- gem 'workable_json_assertions'
9
+ group :test do
10
+ gem 'workable_json_assertions'
11
+ end
10
12
 
11
13
  And then execute:
12
14
 
@@ -48,6 +50,17 @@ class BasicControllerTest < ActionController::TestCase
48
50
  end
49
51
  ```
50
52
 
53
+ ### assert\_json\_response\_includes
54
+ ```ruby
55
+ class BasicControllerTest < ActionController::TestCase
56
+ def test_success
57
+ get :index # { 'key': 'value', 'created_at': '2016-07-25', 'updated_at': '2016-07-26' }
58
+ assert_json_response_includes({ key: 'value' })
59
+ assert_json_response_includes({ created_at: '2016-07-25' })
60
+ end
61
+ end
62
+ ```
63
+
51
64
  ## Contributing
52
65
 
53
66
  1. Fork it
@@ -17,6 +17,10 @@ module WorkableJsonAssertions
17
17
  assert_json_equal_except(json, JSON.parse(response.body), blacklist)
18
18
  end
19
19
 
20
+ def assert_json_response_includes(hash)
21
+ assert_match hash.to_json, response.body
22
+ end
23
+
20
24
  private
21
25
 
22
26
  def assert_json_equal_except(json1, json2, blacklist = [])
@@ -1,3 +1,3 @@
1
1
  module WorkableJsonAssertions
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -28,6 +28,11 @@ class JsonControllerTest < ActionController::TestCase
28
28
  end
29
29
  end
30
30
 
31
+ def test_json_response_includes
32
+ process :another_response
33
+ assert_json_response_includes({ name: 'John', instrument: 'Guitar' })
34
+ end
35
+
31
36
  private
32
37
 
33
38
  def expected_response
@@ -9,6 +9,10 @@ class JsonController < ActionController::Base
9
9
  render json: dummy_object
10
10
  end
11
11
 
12
+ def another_response
13
+ render json: nested_object
14
+ end
15
+
12
16
  private
13
17
 
14
18
  def dummy_object
@@ -19,4 +23,17 @@ class JsonController < ActionController::Base
19
23
  four: 'Ringo'
20
24
  }
21
25
  end
26
+
27
+ def nested_object
28
+ {
29
+ one: {
30
+ name: 'John',
31
+ instrument: 'Guitar'
32
+ },
33
+ two: {
34
+ name: 'Paul',
35
+ instrument: 'Bass'
36
+ }
37
+ }
38
+ end
22
39
  end
@@ -23,3 +23,25 @@ JsonControllerTest: test_assert_timestamp_fields
23
23
  ------------------------------------------------
24
24
  Processing by JsonController#timestamps as HTML
25
25
  Completed 200 OK in 0ms
26
+ -----------------------------------------------
27
+ JsonControllerTest: test_json_response_includes
28
+ -----------------------------------------------
29
+ Processing by JsonController#another_response as HTML
30
+ Completed 200 OK in 0ms (Views: 0.3ms)
31
+ ---------------------------------------------------
32
+ JsonControllerTest: test_json_response_equal_except
33
+ ---------------------------------------------------
34
+ Processing by JsonController#dummy_response as HTML
35
+ Completed 200 OK in 0ms (Views: 0.1ms)
36
+ --------------------------------------------
37
+ JsonControllerTest: test_json_response_equal
38
+ --------------------------------------------
39
+ Processing by JsonController#dummy_response as HTML
40
+ Completed 200 OK in 0ms (Views: 0.2ms)
41
+ --------------------------------------------
42
+ JsonControllerTest: test_json_response_empty
43
+ --------------------------------------------
44
+ Processing by JsonController#empty_response as HTML
45
+ Completed 200 OK in 0ms
46
+ Processing by JsonController#dummy_response as HTML
47
+ Completed 200 OK in 0ms (Views: 0.2ms)
@@ -18,8 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency "actionpack", "~> 4.x"
22
- spec.add_dependency "activesupport", "~> 4.x"
21
+ spec.add_development_dependency 'bundler', '~> 1.3'
22
+ spec.add_development_dependency 'rake'
23
23
 
24
- spec.add_development_dependency "railties", "~> 4.x"
24
+ spec.add_dependency "actionpack", ">= 4.2"
25
+ spec.add_dependency "actionview", ">= 4.2"
26
+ spec.add_development_dependency "railties", "> 4.2"
25
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workable_json_assertions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Angelos Karagkiozidis
@@ -9,50 +9,78 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-07-30 00:00:00.000000000 Z
12
+ date: 2016-08-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: actionpack
15
+ name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 4.x
21
- type: :runtime
20
+ version: '1.3'
21
+ type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 4.x
27
+ version: '1.3'
28
28
  - !ruby/object:Gem::Dependency
29
- name: activesupport
29
+ name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: actionpack
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
33
47
  - !ruby/object:Gem::Version
34
- version: 4.x
48
+ version: '4.2'
35
49
  type: :runtime
36
50
  prerelease: false
37
51
  version_requirements: !ruby/object:Gem::Requirement
38
52
  requirements:
39
- - - "~>"
53
+ - - ">="
40
54
  - !ruby/object:Gem::Version
41
- version: 4.x
55
+ version: '4.2'
56
+ - !ruby/object:Gem::Dependency
57
+ name: actionview
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '4.2'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '4.2'
42
70
  - !ruby/object:Gem::Dependency
43
71
  name: railties
44
72
  requirement: !ruby/object:Gem::Requirement
45
73
  requirements:
46
- - - "~>"
74
+ - - ">"
47
75
  - !ruby/object:Gem::Version
48
- version: 4.x
76
+ version: '4.2'
49
77
  type: :development
50
78
  prerelease: false
51
79
  version_requirements: !ruby/object:Gem::Requirement
52
80
  requirements:
53
- - - "~>"
81
+ - - ">"
54
82
  - !ruby/object:Gem::Version
55
- version: 4.x
83
+ version: '4.2'
56
84
  description: Add useful JSON assertions to your Rails controller tests.
57
85
  email:
58
86
  - angelkar@gmail.com