OSDN Git Service

fix peta spec
[pettanr/pettanr.git] / spec / peta / system_resource_spec.rb
index 013e817..82254f8 100644 (file)
@@ -5,37 +5,55 @@ require 'spec_helper'
 describe License do
   include SystemResourceMacros
   before do
-    @admin =FactoryGirl.create :admin
+    @admin = FactoryGirl.create :admin
     @user_yas = FactoryGirl.create :user_yas_with_owner
     @user_rom = FactoryGirl.create :user_rom
-    @author_yas =  @user_yas.author
+    @author_yas = @user_yas.author
+    
+    @model = License
+    @source_url_btn = FactoryGirl.create :system_picture_source_url_btn
+    @source_url_off_btn = FactoryGirl.create :system_picture_source_url_off_btn
+    @license_group = FactoryGirl.create :license_group_pc
+    @item = FactoryGirl.build :license_pc_by_with_system_picture, license_group: @license_group
+    @item.boosts 'post'
+    @item.save!
+    @item = FactoryGirl.build :license_pc_bync_with_system_picture, license_group: @license_group
+    @item.boosts 'post'
+    @item.save!
   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
+      @operators = Operator.new [@admin]
+      allow_any_instance_of(@model).to receive(:own?).and_return(true)
+      expect(@model.edit(@item.id, @operators)).to eq @item
     end
     
-    describe 'leafs_itemsに於いて' do
-      it 'すべてのリーフを取得できる' do
-        define_leafs_items? @item, [ScrollPanel]
-      end
+    it 'ブーストメッセージをリーフに伝搬する' do
+      @operators = Operator.new [@user_yas, @author_yas]
+      allow_any_instance_of(@model).to receive(:own?).and_return(false)
+      expect {@model.edit(@item.id, @operators)}.to raise_error(ActiveRecord::Forbidden)
     end
     
   end
   
-  describe 'boostに於いて' do
+  describe 'own?に於いて' do
     before do
-      @item =  FactoryGirl.create :scroll_hello_with_scroll_panels, author: @author_yas
     end
     
     it 'ブーストメッセージをリーフに伝搬する' do
+      @operators = Operator.new [@admin]
+      allow_any_instance_of(Operator).to receive(:admin?).and_return(true)
+      expect(@item.own?(@operators)).to be true
+    end
+    
+    it 'ブーストメッセージをリーフに伝搬する' do
+      @operators = Operator.new [@user_yas, @author_yas]
+      allow_any_instance_of(Operator).to receive(:admin?).and_return(false)
+      expect(@item.own?(@operators)).to be false
     end
   end
   
@@ -44,36 +62,47 @@ end
 describe SystemPicture do
   include SystemResourceMacros
   before do
-    @admin =FactoryGirl.create :admin
+    @admin = FactoryGirl.create :admin
     @user_yas = FactoryGirl.create :user_yas_with_owner
     @user_rom = FactoryGirl.create :user_rom
-    @author_yas =  @user_yas.author
+    @author_yas = @user_yas.author
+    
+    @model = SystemPicture
+    @item = FactoryGirl.create :system_picture_license_pc_by
   end
   
-  describe '生成メソッドに於いて' do
+  describe 'editに於いて' do
     before do
     end
     
-    describe 'leaf_itemsに於いて' do
-      it 'ぶら下がるそれぞれのリーフを取得できる' do
-        define_leaf_items? @item, [ComicStory]
-      end
+    it 'ブーストメッセージをリーフに伝搬する' do
+      @operators = Operator.new [@admin]
+      allow_any_instance_of(@model).to receive(:own?).and_return(true)
+      expect(@model.edit(@item.id, @operators)).to eq @item
     end
     
-    describe 'leafs_itemsに於いて' do
-      it 'すべてのリーフを取得できる' do
-        define_leafs_items? @item, [ComicStory]
-      end
+    it 'ブーストメッセージをリーフに伝搬する' do
+      @operators = Operator.new [@user_yas, @author_yas]
+      allow_any_instance_of(@model).to receive(:own?).and_return(false)
+      expect {@model.edit(@item.id, @operators)}.to raise_error(ActiveRecord::Forbidden)
     end
     
   end
   
-  describe 'boostに於いて' do
+  describe 'own?に於いて' do
     before do
-      @item =  FactoryGirl.create :scroll_hello_with_scroll_panels, author: @author_yas
     end
     
     it 'ブーストメッセージをリーフに伝搬する' do
+      @operators = Operator.new [@admin]
+      allow_any_instance_of(Operator).to receive(:admin?).and_return(true)
+      expect(@item.own?(@operators)).to be true
+    end
+    
+    it 'ブーストメッセージをリーフに伝搬する' do
+      @operators = Operator.new [@user_yas, @author_yas]
+      allow_any_instance_of(Operator).to receive(:admin?).and_return(false)
+      expect(@item.own?(@operators)).to be false
     end
   end