mirror of
https://github.com/ENSL/ensl.org.git
synced 2024-11-15 01:11:23 +00:00
Added initial issue specs
This commit is contained in:
parent
176956440c
commit
a1ce779cae
2 changed files with 64 additions and 0 deletions
|
@ -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
63
spec/models/issue_spec.rb
Normal 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
|
Loading…
Reference in a new issue