Sha256: e0e70f3097d5d2a9fd3fe82c794d5ecc4f2084e38740f0b789565a8cd1ad65b5

Contents?: true

Size: 1.05 KB

Versions: 12

Compression:

Stored size: 1.05 KB

Contents

require 'test_helper'

class ChangesTest < Test::Unit::TestCase
  context "A version's changes" do
    setup do
      @user = User.create(:name => 'Steve Richert')
    end

    should "initially be blank" do
      assert @user.versions.first.changes.blank?
    end

    should 'contain all changed attributes' do
      @user.name = 'Steve Jobs'
      changes = @user.changes
      @user.save
      assert_equal changes, @user.versions.last.changes.slice(*changes.keys)
    end

    should 'contain timestamp changes when applicable' do
      timestamp = 'updated_at'
      @user.update_attribute(:name, 'Steve Jobs')
      assert @user.class.content_columns.map(&:name).include?(timestamp)
      assert_contains @user.versions.last.changes.keys, timestamp
    end

    should 'contain no more than the changed attributes and timestamps' do
      timestamps = %w(created_at created_on updated_at updated_on)
      @user.name = 'Steve Jobs'
      changes = @user.changes
      @user.save
      assert_equal changes, @user.versions.last.changes.except(*timestamps)
    end
  end
end

Version data entries

12 entries across 12 versions & 3 rubygems

Version Path
laserlemon-vestal_versions-0.6.0 test/changes_test.rb
laserlemon-vestal_versions-0.7.0 test/changes_test.rb
laserlemon-vestal_versions-0.7.1 test/changes_test.rb
laserlemon-vestal_versions-0.8.0 test/changes_test.rb
sthapit-vestal_versions-0.7.0 test/changes_test.rb
sthapit-vestal_versions-0.7.1 test/changes_test.rb
sthapit-vestal_versions-0.8.0 test/changes_test.rb
vestal_versions-0.8.1 test/changes_test.rb
vestal_versions-0.8.0 test/changes_test.rb
vestal_versions-0.7.1 test/changes_test.rb
vestal_versions-0.7.0 test/changes_test.rb
vestal_versions-0.6.0 test/changes_test.rb