Sha256: 5e21bdf5753da9127fd5997475711308a452c8705d11e803ad177d930f417605

Contents?: true

Size: 1.89 KB

Versions: 2

Compression:

Stored size: 1.89 KB

Contents

require 'test_helper'

class ActivityTest < ActiveSupport::TestCase
  fixtures :activities, :clients
  
  def test_activity_constraints
    
    assert_raise( ActiveRecord::RecordInvalid ) do
      Activity.create(
      :is_published => false,
      :occurred_on => Time.new,
      :cost => 0
      ).save!
    end
    
    assert_raise( ActiveRecord::RecordInvalid ) do
      Activity.create(
      :is_published => false,
      :occurred_on => Time.new,
      :activity_type => '',
      :cost => 0
      ).save!
    end
    
    # NOTE: I used to test the costs in here, but, since we've switched to acts_as money, this is no longer needed...
    
    assert_nothing_raised do
      Activity.create(
      :is_published => false,
      :occurred_on => Time.new,
      :activity_type => 'n/a',
      :cost => 6.66
      ).save!
    end
    
    assert_nothing_raised do
      Activity.create(
      :is_published => false,
      :occurred_on => Time.new,
      :activity_type => 'n/a',
      :cost => 0
      ).save!
    end
    
     assert_nothing_raised do
      Activity.create(
      :is_published => false,
      :occurred_on => Time.new,
      :activity_type => 'n/a',
      :client_id => 1,
      :cost => nil
      ).save!
    end
    
    assert_nothing_raised do
      ddc = Client.find :first, :conditions => [ "company_name = ?","DeRose Design Consultants, Inc."]
      
      a1 = Activity.create(
        :is_published => false,
        :occurred_on => Time.new,
        :activity_type => 'n/a',
        :cost => nil
      )
      
      a1.client = ddc
      a1.save!
      
      a2 = Activity.find a1.id, :include => [:client]
      
      assert_equal a2.client_id, ddc.id
    end
    
  end
  
  def test_validations
    a1 = Activity.new :activity_type => nil
    
    assert_nothing_raised { a1.valid? }
    
    assert_equal 1, a1.errors.length
    assert_equal true, a1.errors.invalid?(:activity_type)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
brisk-bills-0.8.2 test/unit/activity_test.rb
brisk-bills-0.8.1 test/unit/activity_test.rb