@admin =FactoryGirl.create :admin
@user_yas = FactoryGirl.create :user_yas_with_owner
@user_rom = FactoryGirl.create :user_rom
+ @user_itojun = FactoryGirl.create :user_itojun_with_owner
@author_yas = @user_yas.author
+ @artist_yas = @user_yas.artist
+ @author_itojun = @user_itojun.author
+ @artist_itojun = @user_itojun.artist
+ @operator = Operator.new [@user_yas]
+ @model = Author
end
- describe '生成メソッドに於いて' do
+ describe 'editに於いて' do
before do
- @item = FactoryGirl.create :scroll_hello_with_scroll_panels, author: @author_yas
end
- describe 'leaf_itemsに於いて' do
- it 'ぶら下がるそれぞれのリーフを取得できる' do
- define_leaf_items? @item, [ScrollPanel]
- end
+ it 'オペレータが自分を編集しようとしているなら返す' do
+ allow_any_instance_of(@model).to receive(:own?).and_return(true)
+ expect(@model.edit(@author_yas.id, @operator)).to eq @author_yas
end
- describe 'leafs_itemsに於いて' do
- it 'すべてのリーフを取得できる' do
- define_leafs_items? @item, [ScrollPanel]
- end
+ it '他人が変更を加えようとしているときは例外を発生させる' do
+ allow_any_instance_of(@model).to receive(:own?).and_return(false)
+ expect {@model.edit(@author_yas.id, @operator)}.to raise_error(ActiveRecord::Forbidden)
end
-
end
- describe 'boostに於いて' do
+ describe 'overwriteに於いて' do
before do
- @item = FactoryGirl.create :scroll_hello_with_scroll_panels, author: @author_yas
end
- it 'ブーストメッセージをリーフに伝搬する' do
+ it 'ユーザーIDをオペレーターで上書きしている' do
+ @author_yas.user_id = nil
+ @author_yas.overwrite(@operator)
+ expect(@author_yas.user_id).to eq @user_yas.id
end
end
@admin =FactoryGirl.create :admin
@user_yas = FactoryGirl.create :user_yas_with_owner
@user_rom = FactoryGirl.create :user_rom
+ @user_itojun = FactoryGirl.create :user_itojun_with_owner
@author_yas = @user_yas.author
+ @artist_yas = @user_yas.artist
+ @author_itojun = @user_itojun.author
+ @artist_itojun = @user_itojun.artist
+ @operator = Operator.new [@author_yas]
+ @model = Artist
end
- describe '生成メソッドに於いて' do
+ describe 'editに於いて' do
before do
end
- describe 'leaf_itemsに於いて' do
- it 'ぶら下がるそれぞれのリーフを取得できる' do
- define_leaf_items? @item, [ComicStory]
- end
+ it 'オペレータが自分を編集しようとしているなら返す' do
+ allow_any_instance_of(@model).to receive(:own?).and_return(true)
+ expect(@model.edit(@artist_yas.id, @operator)).to eq @artist_yas
end
- describe 'leafs_itemsに於いて' do
- it 'すべてのリーフを取得できる' do
- define_leafs_items? @item, [ComicStory]
- end
+ it '他人が変更を加えようとしているときは例外を発生させる' do
+ allow_any_instance_of(@model).to receive(:own?).and_return(false)
+ expect {@model.edit(@artist_yas.id, @operator)}.to raise_error(ActiveRecord::Forbidden)
end
-
end
- describe 'boostに於いて' do
+ describe 'overwriteに於いて' do
before do
- @item = FactoryGirl.create :scroll_hello_with_scroll_panels, author: @author_yas
end
- it 'ブーストメッセージをリーフに伝搬する' do
+ it 'ユーザーIDをオペレーターで上書きしている' do
+ @artist_yas.user_id = nil
+ @artist_yas.overwrite(@operator)
+ expect(@artist_yas.user_id).to eq @user_yas.id
end
end