Sha256: 0e6adb01a4fafcc901278b37aad5e909a4f165c7bfa35d8853d642dd10f0ff39

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

require 'test_helper'


class Order < ActiveRecord::Base
  add_to_bag :field, :flag => :boolean, :at => :date
end


class BagTest < ActiveSupport::TestCase

  def setup
    @order = Order.new
  end

  test "has a bag" do
    assert @order.respond_to?(:bag)
  end

  test "has setters and getters" do
    assert @order.respond_to?(:field)
    assert @order.respond_to?(:flag)
    assert @order.respond_to?(:at)

    assert @order.respond_to?('field=')
    assert @order.respond_to?('flag=')
    assert @order.respond_to?('flag?')
    assert @order.respond_to?('at=')
  end

  test "string access to field" do
    value = 'abc'
    @order.field = value
    assert_equal value, @order.field
    assert_not_equal 'def', @order.field
  end

  test "date access to at" do
    value = DateTime.now
    @order.at = value
    assert_equal value, @order.at
    assert_not_equal 'def', @order.at
  end

  test "boolean access to flag" do
    value = true
    @order.flag = value
    assert_equal value, @order.flag
    assert @order.flag?
    assert_not_equal false, @order.flag

    value = false
    @order.flag = value
    assert_equal value, @order.flag
    assert !@order.flag?
    assert_not_equal true, @order.flag
  end

  test "bag is hidden" do
    value = 'abc'
    @order.field = value
    @order.bag = 'bad thing'
    assert_equal value, @order.field
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
act_with_bag-0.2.0 test/bag_test.rb