# == Schema Information # # Table name: issues # # id :integer not null, primary key # title :string(255) # status :integer # assigned_id :integer # category_id :integer # text :text # author_id :integer # created_at :datetime # updated_at :datetime # solution :text # text_parsed :text # require "spec_helper" describe "User" do describe "Permissions" do let!(:user) { create :user } let!(:admin) { create :user, :admin } let(:issue) { Issue.new } describe "can_show?" do it "returns true for author" do issue.author = user expect(issue.can_show? user).to be_truthy end it "returns true for admin" do expect(issue.can_show? admin).to be_truthy end it "returns false if neither admin nor author" do expect(issue.can_show? user).to be_falsey end end describe "can_create?" do it "returns true" do expect(issue.can_create? nil).to be_truthy end end describe "can_update?" do it "returns true for admin" do expect(issue.can_update? admin).to be_truthy end it "returns false for non-admin" do expect(issue.can_update? user).to be_falsey end end describe "can_destroy?" do it "returns true for admin" do expect(issue.can_destroy? admin).to be_truthy end it "returns false for non-admin" do expect(issue.can_destroy? user).to be_falsey end end end end