graphql_helper_generator 0.0.22 → 0.0.25
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ccd17efa9b26bf88dc362f8a854c68588c85f1ef7b3478ca28877bd0f02896da
|
4
|
+
data.tar.gz: 5e7afa5dd321088c15e787fbe68fea9c74c71d936982e1244cb8a76b4463aa36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84cabd5265a23f073747797d2ca280af124da4a3a2a6d91aa7480695e3dde5fc74cbe3151c49b68f62f6a68e5892a7ae379b5bc4b65dec9004f03c85e02c5be8
|
7
|
+
data.tar.gz: 5ed601d993f56b5798ab2ef1f579b44d05d2f5a834e5bb6523bcf6dc6734e8e728b6020a0adf79e4f5013967aec52f137731ef5453507fab0c0d4b60deb8e14d
|
@@ -162,19 +162,23 @@ class GraphqlModelGenerator < Rails::Generators::NamedBase
|
|
162
162
|
|
163
163
|
def generate_create_test_lines
|
164
164
|
@create_test_define_line =
|
165
|
-
@parsed_fields.
|
165
|
+
@parsed_fields.map{|field|
|
166
166
|
name = field[:name].camelize
|
167
167
|
name[0] = name[0].downcase
|
168
|
-
|
169
|
-
|
168
|
+
if field[:type] == 'references' then name += 'Id' end
|
169
|
+
str = "$" + name + ": "
|
170
|
+
type = cast_to_graphql_input(field)
|
171
|
+
if field[:array].present? then type = '[' + type + ']' end
|
172
|
+
str += type
|
170
173
|
if field[:required].present? then str += "!" end
|
171
174
|
str
|
172
175
|
}.join(', ')
|
173
176
|
|
174
177
|
@create_test_input_line =
|
175
|
-
@parsed_fields.
|
178
|
+
@parsed_fields.map{|field|
|
176
179
|
name = field[:name].camelize
|
177
180
|
name[0] = name[0].downcase
|
181
|
+
if field[:type] == 'references' then name += 'Id' end
|
178
182
|
str = name + ": " + "$" + name
|
179
183
|
}.join(', ')
|
180
184
|
end
|
@@ -228,14 +232,7 @@ class GraphqlModelGenerator < Rails::Generators::NamedBase
|
|
228
232
|
def generate_type_fields
|
229
233
|
@type_fields =
|
230
234
|
@parsed_fields.map{|field|
|
231
|
-
str = 'field :'
|
232
|
-
if field[:reference].present?
|
233
|
-
str += field[:name].underscore + "s"
|
234
|
-
else
|
235
|
-
str += field[:name].underscore
|
236
|
-
end
|
237
|
-
|
238
|
-
str += ", "
|
235
|
+
str = 'field :' + field[:name].underscore + ', '
|
239
236
|
|
240
237
|
type = cast_to_graphql(field)
|
241
238
|
if field[:reference].present? || field[:type] == 'references' then type = field[:name].camelize + "Type" end
|
@@ -257,7 +254,7 @@ class GraphqlModelGenerator < Rails::Generators::NamedBase
|
|
257
254
|
.map{|field|
|
258
255
|
str = 'belongs_to :'
|
259
256
|
if field[:reference].present?
|
260
|
-
str += field[:
|
257
|
+
str += field[:name].underscore
|
261
258
|
end
|
262
259
|
|
263
260
|
str
|
@@ -314,6 +311,7 @@ class GraphqlModelGenerator < Rails::Generators::NamedBase
|
|
314
311
|
elsif type == 'Json' then type = 'JSON'
|
315
312
|
elsif type == 'Boolean' then type = 'Boolean'
|
316
313
|
elsif type == 'Integer' then type = 'Int'
|
314
|
+
elsif type == 'References' then type = 'ID'
|
317
315
|
end
|
318
316
|
type
|
319
317
|
end
|
@@ -20,12 +20,19 @@ RSpec.describe 'Create<%= @camelize_name %>', type: :request do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'create_<%= @snake_case_name %> success' do
|
23
|
-
|
23
|
+
<%= @snake_case_name%> = build(:<%= @snake_case_name %>)
|
24
24
|
variables = as_json(<%= @snake_case_name%>)
|
25
25
|
|
26
26
|
json = graphql(query, variables: variables)
|
27
27
|
data = json['create<%= @camelize_name %>']
|
28
28
|
|
29
29
|
expect(data).to include('id' => be_present)
|
30
|
+
<%=
|
31
|
+
@parsed_fields.filter{|f| !f[:reference].present? }.map{|field|
|
32
|
+
var = field[:name].camelize
|
33
|
+
var[0] = var[0].downcase
|
34
|
+
"expect(data).to include('#{var}' => #{@snake_case_name}.#{field[:name]})"
|
35
|
+
}.join("\n ")
|
36
|
+
%>
|
30
37
|
end
|
31
38
|
end
|