Sha256: b46b00056c1f696efc01cfd1de8aad3c22220c01dea784d9aaf6831ea4599d34
Contents?: true
Size: 1.17 KB
Versions: 5
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true require_relative "../helper" class Arel::Nodes::ExtractTest < Arel::Spec it "should extract field" do table = Arel::Table.new :users _(table[:timestamp].extract("date").to_sql).must_be_like %{ EXTRACT(DATE FROM "users"."timestamp") } end describe "as" do it "should alias the extract" do table = Arel::Table.new :users _(table[:timestamp].extract("date").as("foo").to_sql).must_be_like %{ EXTRACT(DATE FROM "users"."timestamp") AS foo } end it "should not mutate the extract" do table = Arel::Table.new :users extract = table[:timestamp].extract("date") before = extract.dup extract.as("foo") assert_equal extract, before end end describe "equality" do it "is equal with equal ivars" do table = Arel::Table.new :users array = [table[:attr].extract("foo"), table[:attr].extract("foo")] assert_equal 1, array.uniq.size end it "is not equal with different ivars" do table = Arel::Table.new :users array = [table[:attr].extract("foo"), table[:attr].extract("bar")] assert_equal 2, array.uniq.size end end end
Version data entries
5 entries across 5 versions & 1 rubygems