Sha256: a8fff644815ec26f1912840483eb548f32e712c4ec224dfb02e0506e0f81f8dc

Contents?: true

Size: 983 Bytes

Versions: 2

Compression:

Stored size: 983 Bytes

Contents

require 'test_helper'

class CassandraObject::AttributeMethods::DirtyTest < CassandraObject::TestCase
  test 'save clears dirty' do
    record = temp_object do
      string :name
    end.new name: 'foo'
    
    assert record.changed?

    record.save!

    assert !record.changed?
  end

  test 'reload clears dirty' do
    record = temp_object do
      string :name
    end.create! name: 'foo'

    record.name = 'bar'
    assert record.changed?

    record.reload

    assert !record.changed?
  end

  test 'typecast float before dirty check' do
    record = temp_object do
      float :price
    end.create(price: 5.01)

    record.price = '5.01'
    assert !record.changed?

    record.price = '7.12'
    assert record.changed?
  end

  test 'boolean' do
    record = temp_object do
      boolean :awesome
    end.create(awesome: false)

    p record.changes

    record.awesome = false
    assert !record.changed?

    record.awesome = true
    assert record.changed?
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gotime-cassandra_object-2.7.8 test/attribute_methods/dirty_test.rb
gotime-cassandra_object-2.7.7 test/attribute_methods/dirty_test.rb