Added initial issue specs

This commit is contained in:
Christopher Blanchard 2015-06-07 00:26:09 +01:00
parent 4043151867
commit b919600663
2 changed files with 64 additions and 0 deletions

View file

@ -15,6 +15,7 @@ class ShoutmsgsController < ApplicationController
def create
@shoutmsg = Shoutmsg.new params[:shoutmsg]
puts @shoutmsg
@shoutmsg.user = cuser
raise AccessError unless @shoutmsg.can_create? cuser

63
spec/models/issue_spec.rb Normal file
View file

@ -0,0 +1,63 @@
# == 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? is weird and broken' do
it "returns true if no params" do
expect(issue.can_create? user).to be_true
end
it 'returns false if no params' do
expect(issue.can_create? user, {foo: "bar"}).to be_false
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