Sha256: 3de5dff7b23c5e66212293dd1bee465b13681e95709a79b55fdc6e0101dd7bb3

Contents?: true

Size: 1.33 KB

Versions: 8

Compression:

Stored size: 1.33 KB

Contents

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

describe "RhoconnectApiFastInsert" do
  it_should_behave_like "ApiHelper" do
    it "should append new objects to rhoconnect's :md" do
      data = {'1' => @product1, '2' => @product2}
      @s = Source.load(@s_fields[:name],@s_params)
      set_doc_state(@s, {:md => data, :md_size => '2'})
      post "/app/#{Rhoconnect::API_VERSION}/#{@s_fields[:name]}/fast_insert",
        {:user_id => @u.id, :data => {'3' => @product3}}, {Rhoconnect::API_TOKEN_HEADER => @api_token}
      last_response.should be_ok
      data.merge!({'3' => @product3})
      verify_doc_result(@s, {:md => data, :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_doc_state(@s, {:md => data, :md_size => '3'})
      post "/app/#{Rhoconnect::API_VERSION}/#{@s_fields[:name]}/fast_insert",
        {:user_id => @u.id, :data => incorrect_insert}, {Rhoconnect::API_TOKEN_HEADER => @api_token}
      last_response.should be_ok
      data['3'].merge!(incorrect_insert['3'])
      verify_doc_result(@s, :md_size=>'4')
    end
  end  
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rhoconnect-4.0.4 spec/api/app/fast_insert_spec.rb
rhoconnect-4.0.3 spec/api/app/fast_insert_spec.rb
rhoconnect-4.0.2 spec/api/app/fast_insert_spec.rb
rhoconnect-4.0.1 spec/api/app/fast_insert_spec.rb
rhoconnect-4.0.0 spec/api/app/fast_insert_spec.rb
rhoconnect-4.0.0.beta.24 spec/api/app/fast_insert_spec.rb
rhoconnect-4.0.0.beta.10 spec/api/app/fast_insert_spec.rb
rhoconnect-4.0.0.beta.12 spec/api/app/fast_insert_spec.rb