1 # -*- encoding: utf-8 -*-
8 @admin =FactoryGirl.create :admin
9 @user_yas = FactoryGirl.create :user_yas_with_owner
10 @user_rom = FactoryGirl.create :user_rom
11 @user_itojun = FactoryGirl.create :user_itojun_with_owner
12 @author_yas = @user_yas.author
13 @artist_yas = @user_yas.artist
14 @author_itojun = @user_itojun.author
15 @artist_itojun = @user_itojun.artist
16 @operator = Operator.new [@user_yas]
20 describe 'editに於いて' do
24 it 'オペレータが自分を編集しようとしているなら返す' do
25 allow_any_instance_of(@model).to receive(:own?).and_return(true)
26 expect(@model.edit(@author_yas.id, @operator)).to eq @author_yas
29 it '他人が変更を加えようとしているときは例外を発生させる' do
30 allow_any_instance_of(@model).to receive(:own?).and_return(false)
31 expect {@model.edit(@author_yas.id, @operator)}.to raise_error(ActiveRecord::Forbidden)
35 describe 'overwriteに於いて' do
39 it 'ユーザーIDをオペレーターで上書きしている' do
40 @author_yas.user_id = nil
41 @author_yas.overwrite(@operator)
42 expect(@author_yas.user_id).to eq @user_yas.id
51 @admin =FactoryGirl.create :admin
52 @user_yas = FactoryGirl.create :user_yas_with_owner
53 @user_rom = FactoryGirl.create :user_rom
54 @user_itojun = FactoryGirl.create :user_itojun_with_owner
55 @author_yas = @user_yas.author
56 @artist_yas = @user_yas.artist
57 @author_itojun = @user_itojun.author
58 @artist_itojun = @user_itojun.artist
59 @operator = Operator.new [@author_yas]
63 describe 'editに於いて' do
67 it 'オペレータが自分を編集しようとしているなら返す' do
68 allow_any_instance_of(@model).to receive(:own?).and_return(true)
69 expect(@model.edit(@artist_yas.id, @operator)).to eq @artist_yas
72 it '他人が変更を加えようとしているときは例外を発生させる' do
73 allow_any_instance_of(@model).to receive(:own?).and_return(false)
74 expect {@model.edit(@artist_yas.id, @operator)}.to raise_error(ActiveRecord::Forbidden)
78 describe 'overwriteに於いて' do
82 it 'ユーザーIDをオペレーターで上書きしている' do
83 @artist_yas.user_id = nil
84 @artist_yas.overwrite(@operator)
85 expect(@artist_yas.user_id).to eq @user_yas.id