Sha256: e9dbe2181a80bdd8b287dbe650b93c25fb3362af41ab294b1f1dee04b68ebad4

Contents?: true

Size: 1.08 KB

Versions: 12

Compression:

Stored size: 1.08 KB

Contents

module Adhoq
  RSpec.describe Query, type: :model do
    describe "#parameters" do
      it "returns query parameter Array of Hash" do
        query = Query.new(query: "SELECT * FROM users where created_at > '$time' AND activated = ${activated}")
        expect(query.parameters).to eq [
          "time",
          "activated",
        ]
      end
    end

    describe "#substitute_query" do
      it "returns query string with parameter binding" do
        query = Query.new(query: "SELECT * FROM users where created_at > '$time' AND activated = ${activated}")
        substitute = query.substitute_query({
          time: "2010-10-01 10:00:00",
          activated: "1",
        })
        expect(substitute).to eq "SELECT * FROM users where created_at > '2010-10-01 10:00:00' AND activated = 1"
      end

      context "query doesn't need parameter" do
        it "returns query string" do
          query = Query.new(query: "SELECT * FROM users")
          substitute = query.substitute_query({})
          expect(substitute).to eq "SELECT * FROM users"
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
adhoq-1.0.2 spec/models/adhoq/query_spec.rb
adhoq-1.0.1 spec/models/adhoq/query_spec.rb
adhoq-1.0.0 spec/models/adhoq/query_spec.rb
adhoq-0.5.0 spec/models/adhoq/query_spec.rb
adhoq-0.5.0.beta1 spec/models/adhoq/query_spec.rb
adhoq-0.4.0 spec/models/adhoq/query_spec.rb
adhoq-0.3.0 spec/models/adhoq/query_spec.rb
adhoq-0.2.0 spec/models/adhoq/query_spec.rb
adhoq-0.1.2 spec/models/adhoq/query_spec.rb
adhoq-0.1.1 spec/models/adhoq/query_spec.rb
adhoq-0.1.0 spec/models/adhoq/query_spec.rb
adhoq-0.0.7 spec/models/adhoq/query_spec.rb