spec/tests/arel_spec.rb in torque-postgresql-2.2.3 vs spec/tests/arel_spec.rb in torque-postgresql-2.2.4

- old
+ new

@@ -66,29 +66,40 @@ expect(Author.columns_hash['profile'].default).to eq('[]') end it 'works properly when column is an array' do expect { connection.add_column(:authors, :tag_ids, :bigint, array: true, default: []) }.not_to raise_error - expect(Author.columns_hash['tag_ids'].default).to eq([]) + expect(Author.new.tag_ids).to eq([]) end - it 'works with an array with enum values' do + it 'works with an array with enum values for a new enum' do + value = ['a', 'b'] + + expect do + connection.create_enum(:samples, %i[a b c d]) + connection.add_column(:authors, :samples, :samples, array: true, default: value) + end.not_to raise_error + + expect(Author.new.samples).to eq(value) + end + + it 'works with an array with enum values for an existing enum' do value = ['visitor', 'assistant'] expect { connection.add_column(:authors, :roles, :roles, array: true, default: value) }.not_to raise_error - expect(Author.columns_hash['roles'].default).to eq(value) + expect(Author.new.roles).to eq(value) end it 'works with multi dimentional array' do value = [['1', '2'], ['3', '4']] expect { connection.add_column(:authors, :tag_ids, :string, array: true, default: value) }.not_to raise_error - expect(Author.columns_hash['tag_ids'].default).to eq(value) + expect(Author.new.tag_ids).to eq(value) end it 'works with change column default value' do value = ['2', '3'] connection.add_column(:authors, :tag_ids, :string, array: true) expect { connection.change_column_default(:authors, :tag_ids, { from: nil, to: value }) }.not_to raise_error - expect(Author.columns_hash['tag_ids'].default).to eq(value) + expect(Author.new.tag_ids).to eq(value) end end context 'on cast' do it 'provides an array method' do