class PostgresqlCompositeWithCustomOIDTest

Constants

FullAddress

Public Instance Methods

setup() click to toggle source
Calls superclass method PostgresqlCompositeBehavior#setup
# File activerecord/test/cases/adapters/postgresql/composite_test.rb, line 106
def setup
  super

  @connection.send(:type_map).register_type "full_address", FullAddressType.new
end
test_column() click to toggle source
# File activerecord/test/cases/adapters/postgresql/composite_test.rb, line 112
def test_column
  column = PostgresqlComposite.columns_hash["address"]
  assert_equal :full_address, column.type
  assert_equal "full_address", column.sql_type
  assert_not column.array?

  type = PostgresqlComposite.type_for_attribute("address")
  assert_not type.binary?
end
test_composite_mapping() click to toggle source
# File activerecord/test/cases/adapters/postgresql/composite_test.rb, line 122
def test_composite_mapping
  @connection.execute "INSERT INTO postgresql_composites VALUES (1, ROW('Paris', 'Champs-Élysées'));"
  composite = PostgresqlComposite.first
  assert_equal "Paris", composite.address.city
  assert_equal "Champs-Élysées", composite.address.street

  composite.address = FullAddress.new("Paris", "Rue Basse")
  composite.save!

  assert_equal "Paris", composite.reload.address.city
  assert_equal "Rue Basse", composite.reload.address.street
end