Sha256: 2344f6bf7776e260457bb2becd60b59a7185bec9a18ae70d9f83e20100068600

Contents?: true

Size: 1.31 KB

Versions: 4

Compression:

Stored size: 1.31 KB

Contents

# encoding: utf-8

describe "BATCH" do

  let(:root)      { QueryBuilder::CQL }
  let(:keyspace)  { root.keyspace(:wildlife) }
  let(:table)     { keyspace.table(:species) }
  let(:insert)    { table.insert(name: :tiger) }
  let(:delete)    { table.delete(:name).where(name: :tiger) }
  let(:statement) { root.batch.add(delete).add(insert) }

  it_behaves_like :query_builder do
    subject   { statement }
    let(:cql) { "BEGIN BATCH DELETE name FROM wildlife.species WHERE name = 'tiger'; INSERT INTO wildlife.species (name) VALUES ('tiger'); APPLY BATCH;" }
  end

  it_behaves_like :query_builder do
    subject   { statement.unlogged }
    let(:cql) { "BEGIN UNLOGGED BATCH DELETE name FROM wildlife.species WHERE name = 'tiger'; INSERT INTO wildlife.species (name) VALUES ('tiger'); APPLY BATCH;" }
  end

  it_behaves_like :query_builder do
    subject   { statement.counter }
    let(:cql) { "BEGIN COUNTER BATCH DELETE name FROM wildlife.species WHERE name = 'tiger'; INSERT INTO wildlife.species (name) VALUES ('tiger'); APPLY BATCH;" }
  end

  it_behaves_like :query_builder do
    subject   { statement.timestamp(100) }
    let(:cql) { "BEGIN BATCH USING TIMESTAMP 100 DELETE name FROM wildlife.species WHERE name = 'tiger'; INSERT INTO wildlife.species (name) VALUES ('tiger'); APPLY BATCH;" }
  end

end # describe BATCH

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
query_builder-0.0.4 spec/integration/batch_spec.rb
query_builder-0.0.3 spec/integration/batch_spec.rb
query_builder-0.0.2 spec/integration/batch_spec.rb
query_builder-0.0.1 spec/integration/batch_spec.rb