aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/cases/attributes_test.rb
blob: 5f3ea839a4fd7b2f0f2b53400bd3dcfdcc9c5a92 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
require 'cases/helper'

class AttributesTest < ActiveModel::TestCase
  class Person
    include ActiveModel::Attributes
    attr_accessor :name
  end

  test "reads attribute" do
    p = Person.new
    assert_equal nil, p.read_attribute(:name)

    p.name = "Josh"
    assert_equal "Josh", p.read_attribute(:name)
  end

  test "writes attribute" do
    p = Person.new
    assert_equal nil, p.name

    p.write_attribute(:name, "Josh")
    assert_equal "Josh", p.name
  end

  test "returns all attributes" do
    p = Person.new
    p.name = "Josh"
    assert_equal({"name" => "Josh"}, p.attributes)
  end
end