workable_json_assertions 0.0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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