我的能力就是这个:
def initialize(user)
partner_id ||= user.partner.id
can :create, Employee, :partner_id => partner_id
这是在前面的块中:
before(:each) do
@employee = Factory :employee, role: "manager"
@partner = @employee.partner
@some_other_partner = Factory :partner
@subject = EmployeeAbility.new( @employee )
end
我的正面规范是这个(这个通过):
it { @subject.should be_able_to(:create, Employee, partner_id: @partner.id ) }
我的负面规格是这个(这个失败了):
it { @subject.should_not be_able_to(:create, Employee, partner_id: @some_other_partner.id ) }
我应该如何声明这种能力,以便我可以测试所创建的员工属于某个特定合作伙伴而不属于其他合作伙伴?
答案 0 :(得分:1)
您可以使用类的实例而不是类本身来检查某项功能:
can? :create, Employee.new(:partner_id => 3)