Sha256: 246706a6c74733817fb798c88ddcd4afdf7a6d2cd5b3b4f086e2d67771b22f60

Contents?: true

Size: 1.66 KB

Versions: 4

Compression:

Stored size: 1.66 KB

Contents

require File.dirname(__FILE__)+'/../lib/active_presenter'
require 'expectations'
require 'logger'

ActiveRecord::Base.configurations = {'sqlite3' => {:adapter => 'sqlite3', :database => ':memory:'}}
ActiveRecord::Base.establish_connection('sqlite3')

ActiveRecord::Base.logger = Logger.new(STDERR)
ActiveRecord::Base.logger.level = Logger::WARN

ActiveRecord::Schema.define(:version => 0) do
  create_table :users do |t|
    t.boolean :admin,    :default => false
    t.string  :login,    :default => ''
    t.string  :password, :default => ''
  end
  
  create_table :accounts do |t|
    t.string :subdomain, :default => ''
    t.string :title,     :default => ''
  end
  
  create_table :addresses do |t|
    t.string :street
  end

  create_table :account_infos do |t|
    t.string :info
  end
end

class User < ActiveRecord::Base
  validates_presence_of :login, :password
  attr_accessible :login, :password
  attr_accessor   :password_confirmation
end
class Account < ActiveRecord::Base; end
class Address < ActiveRecord::Base; end
class AccountInfo < ActiveRecord::Base; end

class SignupPresenter < ActivePresenter::Base
  presents :account, :user
end

class EndingWithSPresenter < ActivePresenter::Base
  presents :address
end

class CantSavePresenter < ActivePresenter::Base
  presents :address
  
  before_save :halt
  
  def halt; false; end
end

class AfterSavePresenter < ActivePresenter::Base
  presents :address
  
  after_save :set_street
  
  def set_street
    address.street = 'Some Street'
  end
end

class SamePrefixPresenter < ActivePresenter::Base
  presents :account, :account_info
end

def hash_for_user(opts = {})
  {:login => 'jane', :password => 'seekrit' }.merge(opts)
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
active_presenter-0.0.5 test/test_helper.rb
active_presenter-0.0.6 test/test_helper.rb
spree-0.7.0 vendor/gems/active_presenter-0.0.6/test/test_helper.rb
spree-0.7.1 vendor/gems/active_presenter-0.0.6/test/test_helper.rb