Sha256: dbe8ab22040d5006cf12fdddd7d619dc37f09a9fc24543f8c151b6f6ced424a1

Contents?: true

Size: 1.17 KB

Versions: 6

Compression:

Stored size: 1.17 KB

Contents

require 'spec_helper'

describe ActiveAdmin::Resource::BelongsTo do


  let(:application){ ActiveAdmin::Application.new }
  let(:namespace){ ActiveAdmin::Namespace.new(application, :admin) }
  let(:post){ namespace.register(Post) }
  let(:belongs_to){ ActiveAdmin::Resource::BelongsTo.new(post, :user) }

  it "should have an owner" do
    belongs_to.owner.should == post
  end

  it "should have a namespace" do
    belongs_to.namespace.should == namespace
  end

  describe "finding the target" do
    context "when the resource has been registered" do
      let(:user){ namespace.register(User) }
      before { user } # Ensure user is registered

      it "should return the target resource" do
        belongs_to.target.should == user
      end
    end

    context "when the resource has not been registered" do
      it "should raise a ActiveAdmin::BelongsTo::TargetNotFound" do
        lambda {
          belongs_to.target
        }.should raise_error(ActiveAdmin::Resource::BelongsTo::TargetNotFound)
      end
    end
  end

  it "should be optional" do
    belongs_to = ActiveAdmin::Resource::BelongsTo.new post, :user, :optional => true
    belongs_to.should be_optional
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
activeadmin-0.6.6 spec/unit/belongs_to_spec.rb
activeadmin-0.6.5 spec/unit/belongs_to_spec.rb
activeadmin-0.6.4 spec/unit/belongs_to_spec.rb
activeadmin-0.6.3 spec/unit/belongs_to_spec.rb
activeadmin-0.6.2 spec/unit/belongs_to_spec.rb
activeadmin-0.6.1 spec/unit/belongs_to_spec.rb