Sha256: 6cfece9e06a026c15f327c731a3947c197be5fc7d47b25660713194dd7d84e78

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

RSpec.describe 'Create<%= @camelize_name %>', type: :request do
  include_context 'authenticated user'

  def query()
  <%= "  <<~GQL" %>
    mutation Create<%= @camelize_name %>(<%= @create_test_define_line %>) {
      create<%= @camelize_name %>(input: {<%= @create_test_input_line %>}) {
          id
          <%= 
            @parsed_fields.map{|field| 
              var = field[:name].camelize
              var[0] = var[0].downcase
              if field[:reference].present? then var += ' { id } ' end
              var
            }.join("\n          ")
          %>
        }
      }
    GQL
  end

  it 'create_<%= @snake_case_name %> success' do
  <%= @snake_case_name%> = build(:<%= @snake_case_name %>)
    variables = as_json(<%= @snake_case_name%>)

    json = graphql(query, variables: variables)
    data = json['create<%= @camelize_name %>']

    expect(data).to include('id' => be_present)
    <%= 
      @parsed_fields.filter{|f| !f[:reference].present? }.map{|field| 
        var = field[:name].camelize
        var[0] = var[0].downcase
        "expect(data).to include('#{var}' => #{@snake_case_name}.#{field[:name]})"
      }.join("\n    ")
    %>
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
graphql_helper_generator-0.0.26 lib/graphql_helper_generator/graphql_model/templates/tests/create_test_template.erb
graphql_helper_generator-0.0.25 lib/graphql_helper_generator/graphql_model/templates/tests/create_test_template.erb