Sha256: dacdac828a2cdb64518c966233a0240afd6b10bbc736380a131bd5dde67eaf91

Contents?: true

Size: 1.27 KB

Versions: 10

Compression:

Stored size: 1.27 KB

Contents

require File.join(File.dirname(__FILE__),'api_helper')

describe "RhoconnectApiFastInsert" do
  it_should_behave_like "ApiHelper"
  
  it "should append new objects to rhosync's :md" do
    data = {'1' => @product1, '2' => @product2}
    @s = Source.load(@s_fields[:name],@s_params)
    set_state(@s.docname(:md) => data,@s.docname(:md_size) => '2')
    post "/api/fast_insert", :api_token => @api_token, 
      :user_id => @u.id, :source_id => @s_fields[:name], :data => {'3' => @product3}
    last_response.should be_ok
    data.merge!({'3' => @product3})
    verify_result(@s.docname(:md) => data,@s.docname(:md_size)=>'3')
  end

  it "should incorrectly append data to existing object (because fast_insert doesn't ensure any data integrity)" do
    data = {'1' => @product1, '2' => @product2, '3' => @product3}
    incorrect_insert = {'3' => {'price' => '1.99', 'new_field' => 'value'}}
    @s = Source.load(@s_fields[:name],@s_params)
    set_state(@s.docname(:md) => data,@s.docname(:md_size) => '3')
    post "/api/fast_insert", :api_token => @api_token, 
      :user_id => @u.id, :source_id => @s_fields[:name], :data => incorrect_insert
    last_response.should be_ok
    data['3'].merge!(incorrect_insert['3'])
    verify_result(@s.docname(:md) => data,@s.docname(:md_size)=>'4')
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rhosync-2.1.18.beta2 spec/api/fast_insert_spec.rb
rhosync-2.1.18.beta1 spec/api/fast_insert_spec.rb
rhosync-2.1.17 spec/api/fast_insert_spec.rb
rhosync-2.1.17.beta7 spec/api/fast_insert_spec.rb
rhosync-2.1.17.beta6 spec/api/fast_insert_spec.rb
rhosync-2.1.17.beta5 spec/api/fast_insert_spec.rb
rhosync-2.1.17.beta4 spec/api/fast_insert_spec.rb
rhosync-2.1.17.beta3 spec/api/fast_insert_spec.rb
rhosync-2.1.17.beta2 spec/api/fast_insert_spec.rb
rhosync-2.1.17.beta1 spec/api/fast_insert_spec.rb