Sha256: efc28ba9509f86058c53f20ab6e58ba1e41274fe9a20bb4c98c5d151a181e917

Contents?: true

Size: 1.2 KB

Versions: 21

Compression:

Stored size: 1.2 KB

Contents

require_relative 'helper'

module Test
  class User < MxHero::API::Resource

    attribute :name, map: 'firstName'
    attribute :last_name, map: 'lastName'
    attribute :age
    attribute :last_update, map: 'lastUpdate', date: true
  end

  class Account < MxHero::API::Resource
    attributes :name, :number, :active
    
    attribute :name, map: 'accountName'
    attribute :number, map: 'sn'
    attribute :updated, date: true
  end
end

class ResourceTest < MiniTest::Unit::TestCase

  def info
    @info ||= {
      age: 23,
      firstName: 'John',
      lastName: 'Doe',
      lastUpdate: "1371741047000"
    }
  end

  def test_instance
    user = Test::User.new info

    assert_equal 23, user.age
    assert_equal 'John', user.name
    assert_equal 'Doe', user.last_name
    assert_equal DateTime.strptime(info[:lastUpdate].to_s, '%Q'), user.last_update
  end

  def test_to_json
    user = Test::User.new info
    assert_equal info.to_json, user.to_json
  end

  def test_attributes_and_map
    data = {
      accountName: 'account 12',
      sn: 1234567890,
      active: true,
      updated: 1371741047000
    }
    account = Test::Account.new data

    assert_equal data[:accountName], account.name

  end

end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
mxhero-api-0.1.55 test/test_resource.rb
mxhero-api-0.1.54 test/test_resource.rb
mxhero-api-0.1.53 test/test_resource.rb
mxhero-api-0.1.52 test/test_resource.rb
mxhero-api-0.1.41 test/test_resource.rb
mxhero-api-0.1.40 test/test_resource.rb
mxhero-api-0.1.39 test/test_resource.rb
mxhero-api-0.1.38 test/test_resource.rb
mxhero-api-0.1.37 test/test_resource.rb
mxhero-api-0.1.36 test/test_resource.rb
mxhero-api-0.1.35 test/test_resource.rb
mxhero-api-0.1.34 test/test_resource.rb
mxhero-api-0.1.33 test/test_resource.rb
mxhero-api-0.1.32 test/test_resource.rb
mxhero-api-0.1.31 test/test_resource.rb
mxhero-api-0.1.30 test/test_resource.rb
mxhero-api-0.1.29 test/test_resource.rb
mxhero-api-0.1.28 test/test_resource.rb
mxhero-api-0.1.27 test/test_resource.rb
mxhero-api-0.1.26 test/test_resource.rb