Sha256: 3ae7c1f8a8494d21d2bf85e2c645b8c775949d8c17798f2b6abdadbfe08e981f

Contents?: true

Size: 784 Bytes

Versions: 3

Compression:

Stored size: 784 Bytes

Contents

require "spec_helper"

describe "Simple::SQL.insert" do
  let!(:users) { 1.upto(USER_COUNT).map { create(:user) } }

  it "inserts a single user" do
    initial_ids = SQL.all("SELECT id FROM users")

    id = SQL.insert :users, first_name: "foo", last_name: "bar"
    expect(id).to be_a(Integer)
    expect(initial_ids).not_to include(id)
    expect(SQL.ask("SELECT count(*) FROM users")).to eq(USER_COUNT+1)

    user = SQL.record("SELECT * FROM users WHERE id=$1", id, into: OpenStruct)
    expect(user.first_name).to eq("foo")
    expect(user.last_name).to eq("bar")
    expect(user.created_at).to be_a(Time)

    #
    # r = SQL.record("SELECT COUNT(*) AS count FROM users")
    # r = SQL.record("SELECT COUNT(*) AS count FROM users")
    # expect(r).to eq({count: 2})
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
simple-sql-0.3.1 spec/simple/sql_insert_spec.rb
simple-sql-0.2.8 spec/simple/sql_insert_spec.rb
simple-sql-0.3.0 spec/simple/sql_insert_spec.rb