jbuilder_rspec_generator 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/jbuilder_rspec_generator.gemspec +4 -4
- data/lib/generators/rspec/templates/index_spec.rb +35 -6
- data/lib/generators/rspec/templates/show_spec.rb +35 -7
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a89167a84eeebe582e3c88f3f419a03581e65032
|
4
|
+
data.tar.gz: 8750eeb889593a5fd2eab307dcbc36d113fc3bd1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33117bdbe977770e3bce23b1378fdc5950c01a4098eafea83ce92bfe4c09c349363e68d7eee2e4879d8b64afbf12aef971aab66ec6428615bfbdc7a71bec4878
|
7
|
+
data.tar.gz: 2f1889f3737d46f27aa616b923a950662283c16324705b9297fd7cd05a97b3249518408aee6326e3f85355b9049f73802b71e781538f88c2754e1d47ab084f45
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.2.0
|
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: jbuilder_rspec_generator 1.
|
5
|
+
# stub: jbuilder_rspec_generator 1.2.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "jbuilder_rspec_generator"
|
9
|
-
s.version = "1.
|
9
|
+
s.version = "1.2.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Dmitri Koulikoff"]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2016-03-22"
|
15
15
|
s.description = "Generates RSpecs for jbuilder templates"
|
16
16
|
s.email = "dima@koulikoff.ru"
|
17
17
|
s.extra_rdoc_files = [
|
@@ -36,7 +36,7 @@ Gem::Specification.new do |s|
|
|
36
36
|
]
|
37
37
|
s.homepage = "http://github.com/dima4p/jbuilder_rspec_generator"
|
38
38
|
s.licenses = ["MIT"]
|
39
|
-
s.rubygems_version = "2.
|
39
|
+
s.rubygems_version = "2.5.1"
|
40
40
|
s.summary = "RSpecs for jbuilder templates"
|
41
41
|
|
42
42
|
if s.respond_to? :specification_version then
|
@@ -5,6 +5,7 @@ require 'spec_helper'
|
|
5
5
|
<% end -%>
|
6
6
|
|
7
7
|
<% open_attributes = attributes.reject(&:password_digest?) -%>
|
8
|
+
<% links = open_attributes.select{|a| [:belongs_to, :references].include? a.type} -%>
|
8
9
|
describe "<%= ns_table_name %>/index.json.jbuilder", type: :view do
|
9
10
|
before(:each) do
|
10
11
|
<% if Rails.application.config.generators.options[:rails][:cancan] -%>
|
@@ -20,6 +21,7 @@ describe "<%= ns_table_name %>/index.json.jbuilder", type: :view do
|
|
20
21
|
)
|
21
22
|
<% end -%>
|
22
23
|
assign :<%= table_name %>, [@<%= ns_file_name %>, @<%= ns_file_name %>]
|
24
|
+
render
|
23
25
|
end
|
24
26
|
|
25
27
|
attributes = %w[
|
@@ -29,21 +31,48 @@ describe "<%= ns_table_name %>/index.json.jbuilder", type: :view do
|
|
29
31
|
<% end -%>
|
30
32
|
url
|
31
33
|
]
|
34
|
+
<% if links.present? -%>
|
35
|
+
complex = %w[
|
36
|
+
<% for attribute in links -%>
|
37
|
+
<%= attribute.name %>
|
38
|
+
<% end -%>
|
39
|
+
]
|
40
|
+
<% for attribute in links -%>
|
41
|
+
<%= attribute.name %>_attributes = %w[
|
42
|
+
id
|
43
|
+
name
|
44
|
+
url
|
45
|
+
]
|
46
|
+
<% end -%>
|
47
|
+
<% end -%>
|
32
48
|
|
33
49
|
it "renders a list of <%= table_name %> as json with following attributes: #{attributes.join(', ')}" do
|
34
|
-
render
|
35
|
-
|
36
50
|
hash = MultiJson.load rendered
|
37
51
|
expect(hash.first).to eq(hash = hash.last)
|
38
52
|
expect(hash.keys.sort).to eq attributes.sort
|
53
|
+
<% if links.present? -%>
|
54
|
+
expected = @<%= ns_file_name %>.attributes.slice *(attributes - complex)
|
55
|
+
<% else -%>
|
39
56
|
expected = @<%= ns_file_name %>.attributes.slice *attributes
|
57
|
+
<% end -%>
|
40
58
|
expected = MultiJson.load MultiJson.dump expected
|
41
59
|
expected['url'] = <%= ns_file_name %>_url(@<%= ns_file_name %>, format: 'json')
|
60
|
+
<% if links.present? -%>
|
61
|
+
expect(hash.except! *complex).to eq expected
|
62
|
+
<% else -%>
|
42
63
|
expect(hash).to eq expected
|
43
|
-
# expect(hash['id']).to eq @<%= ns_file_name %>.id.to_s
|
44
|
-
<% for attribute in open_attributes -%>
|
45
|
-
# expect(hash['<%= attribute.name %>']).to eq @<%= ns_file_name %>.<%= attribute.name %>.to_s
|
46
64
|
<% end -%>
|
47
|
-
# expect(hash['url']).to eq <%= ns_file_name %>_url(@<%= ns_file_name %>, format: 'json')
|
48
65
|
end
|
66
|
+
<% for attribute in links -%>
|
67
|
+
|
68
|
+
it "renders <%= attribute.name %> of the <%= table_name %> with the following attributes: #{<%= attribute.name %>_attributes.join(', ')}" do
|
69
|
+
hash = MultiJson.load(rendered).last
|
70
|
+
hash = hash['<%= attribute.name %>']
|
71
|
+
expect(hash.keys.sort).to eq <%= attribute.name %>_attributes.sort
|
72
|
+
expected = @<%= ns_file_name %>.<%= attribute.name %>.attributes.slice *<%= attribute.name %>_attributes
|
73
|
+
expected = MultiJson.load MultiJson.dump expected
|
74
|
+
expected['url'] = <%= attribute.name %>_url(@<%= ns_file_name %>.<%= attribute.name %>, format: 'json')
|
75
|
+
expect(hash).to eq expected
|
76
|
+
end
|
77
|
+
<% end -%>
|
49
78
|
end
|
@@ -5,6 +5,7 @@ require 'spec_helper'
|
|
5
5
|
<% end -%>
|
6
6
|
|
7
7
|
<% open_attributes = attributes.reject(&:password_digest?) -%>
|
8
|
+
<% links = open_attributes.select{|a| [:belongs_to, :references].include? a.type} -%>
|
8
9
|
describe "<%= ns_table_name %>/show.json.jbuilder", type: :view do
|
9
10
|
before(:each) do
|
10
11
|
<% if Rails.application.config.generators.options[:rails][:cancan] -%>
|
@@ -21,6 +22,7 @@ describe "<%= ns_table_name %>/show.json.jbuilder", type: :view do
|
|
21
22
|
))
|
22
23
|
<% end -%>
|
23
24
|
<% end -%>
|
25
|
+
render
|
24
26
|
end
|
25
27
|
|
26
28
|
attributes = %w[
|
@@ -31,20 +33,46 @@ describe "<%= ns_table_name %>/show.json.jbuilder", type: :view do
|
|
31
33
|
created_at
|
32
34
|
updated_at
|
33
35
|
]
|
36
|
+
<% if links.present? -%>
|
37
|
+
complex = %w[
|
38
|
+
<% for attribute in links -%>
|
39
|
+
<%= attribute.name %>
|
40
|
+
<% end -%>
|
41
|
+
]
|
42
|
+
<% for attribute in links -%>
|
43
|
+
<%= attribute.name %>_attributes = %w[
|
44
|
+
id
|
45
|
+
name
|
46
|
+
url
|
47
|
+
]
|
48
|
+
<% end -%>
|
49
|
+
<% end -%>
|
34
50
|
|
35
51
|
it "renders the following attributes of <%= ns_file_name %>: #{attributes.join(', ')} as json" do
|
36
|
-
render
|
37
|
-
|
38
52
|
hash = MultiJson.load rendered
|
39
53
|
expect(hash.keys.sort).to eq attributes.sort
|
54
|
+
<% if links.present? -%>
|
55
|
+
expected = @<%= ns_file_name %>.attributes.slice *(attributes - complex)
|
56
|
+
<% else -%>
|
40
57
|
expected = @<%= ns_file_name %>.attributes.slice *attributes
|
58
|
+
<% end -%>
|
41
59
|
expected = MultiJson.load MultiJson.dump expected
|
60
|
+
<% if links.present? -%>
|
61
|
+
expect(hash.except! *complex).to eq expected
|
62
|
+
<% else -%>
|
42
63
|
expect(hash).to eq expected
|
43
|
-
# expect(hash['id']).to eq @<%= ns_file_name %>.id.to_s
|
44
|
-
<% for attribute in open_attributes -%>
|
45
|
-
# expect(hash['<%= attribute.name %>']).to eq @<%= ns_file_name %>.<%= attribute.name %>.to_s
|
46
64
|
<% end -%>
|
47
|
-
# expect(hash['created_at']).to eq @<%= ns_file_name %>.created_at.to_s
|
48
|
-
# expect(hash['updated_at']).to eq @<%= ns_file_name %>.updated_at.to_s
|
49
65
|
end
|
66
|
+
<% for attribute in links -%>
|
67
|
+
|
68
|
+
it "renders <%= attribute.name %> of the <%= table_name %> with the following attributes: #{<%= attribute.name %>_attributes.join(', ')}" do
|
69
|
+
hash = MultiJson.load(rendered)
|
70
|
+
hash = hash['<%= attribute.name %>']
|
71
|
+
expect(hash.keys.sort).to eq <%= attribute.name %>_attributes.sort
|
72
|
+
expected = @<%= ns_file_name %>.<%= attribute.name %>.attributes.slice *<%= attribute.name %>_attributes
|
73
|
+
expected = MultiJson.load MultiJson.dump expected
|
74
|
+
expected['url'] = <%= attribute.name %>_url(@<%= ns_file_name %>.<%= attribute.name %>, format: 'json')
|
75
|
+
expect(hash).to eq expected
|
76
|
+
end
|
77
|
+
<% end -%>
|
50
78
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jbuilder_rspec_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitri Koulikoff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
136
|
version: '0'
|
137
137
|
requirements: []
|
138
138
|
rubyforge_project:
|
139
|
-
rubygems_version: 2.
|
139
|
+
rubygems_version: 2.5.1
|
140
140
|
signing_key:
|
141
141
|
specification_version: 4
|
142
142
|
summary: RSpecs for jbuilder templates
|