OSDN Git Service

fix peta test
[pettanr/pettanr.git] / spec / peta / owner_spec.rb
index 439e2da..3652177 100644 (file)
@@ -8,34 +8,38 @@ describe Author do
     @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
   
@@ -47,33 +51,38 @@ describe Artist do
     @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