From 3f5339f48e3ce3eb40eb51fb1b686914a719a26a Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Tue, 11 Mar 2014 08:27:59 +0100 Subject: `change_table` supports `citext`. Follow up to #12523. --- .../test/cases/adapters/postgresql/citext_test.rb | 35 +++++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'activerecord/test/cases') diff --git a/activerecord/test/cases/adapters/postgresql/citext_test.rb b/activerecord/test/cases/adapters/postgresql/citext_test.rb index 89ef46b539..ebb9ff98b1 100644 --- a/activerecord/test/cases/adapters/postgresql/citext_test.rb +++ b/activerecord/test/cases/adapters/postgresql/citext_test.rb @@ -19,10 +19,8 @@ class PostgresqlCitextTest < ActiveRecord::TestCase @connection.reconnect! - @connection.transaction do - @connection.create_table('citexts') do |t| - t.citext 'cival' - end + @connection.create_table('citexts') do |t| + t.citext 'cival' end @column = Citext.columns_hash['cival'] end @@ -44,15 +42,36 @@ class PostgresqlCitextTest < ActiveRecord::TestCase assert_equal 'citext', @column.sql_type end + def test_change_table_supports_json + @connection.transaction do + @connection.change_table('citexts') do |t| + t.citext 'username' + end + Citext.reset_column_information + column = Citext.columns.find { |c| c.name == 'username' } + assert_equal :citext, column.type + + raise ActiveRecord::Rollback # reset the schema change + end + ensure + Citext.reset_column_information + end + def test_write x = Citext.new(cival: 'Some CI Text') - assert x.save! + x.save! + citext = Citext.first + assert_equal "Some CI Text", citext.cival + + citext.cival = "Some NEW CI Text" + citext.save! + + assert_equal "Some NEW CI Text", citext.reload.cival end def test_select_case_insensitive @connection.execute "insert into citexts (cival) values('Cased Text')" x = Citext.where(cival: 'cased text').first - assert_equal('Cased Text', x.cival) + assert_equal 'Cased Text', x.cival end - -end \ No newline at end of file +end -- cgit v1.2.3