# == 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_true end it 'returns true for admin' do expect(issue.can_show? admin).to be_true end it 'returns false if neither admin nor author' do expect(issue.can_show? user).to be_false end end describe 'can_create?' do it "returns true" do expect(issue.can_create? nil).to be_true end end describe 'can_update?' do it 'returns true for admin' do expect(issue.can_update? admin).to be_true end it 'returns false for non-admin' do expect(issue.can_update? user).to be_false end end describe 'can_destroy?' do it 'returns true for admin' do expect(issue.can_destroy? admin).to be_true end it 'returns false for non-admin' do expect(issue.can_destroy? user).to be_false end end end end