spec/lib/column_spec.rb in table_cloth-0.2.2 vs spec/lib/column_spec.rb in table_cloth-0.2.3

- old
+ new

@@ -1,53 +1,41 @@ require 'spec_helper' describe TableCloth::Column do subject { Class.new(TableCloth::Column) } let(:view_context) { ActionView::Base.new } - let(:dummy_model) do - DummyModel.new.tap do |d| - d.id = 1 - d.email = 'robert@example.com' - d.name = 'robert' - end - end + let(:dummy_model) { FactoryGirl.build(:dummy_model) } context 'values' do - let(:name_column) do - TableCloth::Column.new(:name) + let(:proc) do + lambda {|object, view| object.email.gsub("@", " at ")} end - let(:email_column) do - proc = lambda {|object, view| - object.email - } + let(:name_column) { TableCloth::Column.new(:name) } + let(:email_column) { TableCloth::Column.new(:my_email, proc: proc) } - TableCloth::Column.new(:my_email, proc: proc) - end - it 'returns the name correctly' do name_column.value(dummy_model, view_context).should == 'robert' end it 'returns the email from a proc correctly' do - email_column.value(dummy_model, view_context).should == 'robert@example.com' + email_column.value(dummy_model, view_context).should == 'robert at example.com' end context '.available?' do - let(:dummy_table) do - Class.new(TableCloth::Table) do - column :name, if: :admin? - - def admin? - view.admin? - end - end - end - it 'returns true on successful constraint' do table = Class.new(DummyTable).new([dummy_model], view_context) column = TableCloth::Column.new(:name, if: :admin?) column.available?(table).should be_true + end + + it 'returns false on failed constraints' do + table = Class.new(DummyTable).new([dummy_model], view_context) + table.stub admin?: false + + + column = TableCloth::Column.new(:name, if: :admin?) + column.available?(table).should be_false end end end end \ No newline at end of file