OSDN Git Service

fix spec
[pettanr/pettanr.git] / spec / peta / item_spec.rb
1 # -*- encoding: utf-8 -*-
2 require 'spec_helper'
3 #スクロール
4
5 describe Scroll do
6   include ItemMacros
7   before do
8     @admin =FactoryGirl.create :admin
9     @user_yas = FactoryGirl.create :user_yas_with_owner
10     @user_rom = FactoryGirl.create :user_rom
11     @author_yas =  @user_yas.author
12     
13     @model = Scroll
14     @item =  FactoryGirl.create :scroll_hello_with_scroll_panels, author: @author_yas
15   end
16   
17   describe '生成メソッドに於いて' do
18     before do
19     end
20     
21     describe '文字コード検証に於いて' do
22       it 'Shift JISなら失敗する' do
23         @text_column_names = ['title', 'description']
24         valid_encode? @item, @text_column_names
25       end
26     end
27     
28     describe 'child_modelsに於いて' do
29       it 'すべてのリーフを取得できる' do
30         define_child_models? @model, [ScrollPanel]
31       end
32     end
33     
34     describe 'child_element_namesに於いて' do
35       it 'すべてのリーフを取得できる' do
36         define_child_element_names? @model, ['scroll_panels']
37       end
38     end
39     
40   end
41   
42   describe 'myに於いて' do
43     it '自分のマニフェストを取得するためのショートカットが設定できている' do
44       define_my_manifest? @model
45     end
46     
47     it 'アイテムの種別を判定するためのフラグが設定できている' do
48       @subjects = {
49         :item? => true,
50         :content? => true,
51         :element? => false,
52         :root? => false,
53       }
54       set_name? @model, @subjects
55     end
56     
57     it '名前の活用に於いて' do
58       @subjects = {
59         :singular => 'Scroll',
60         :plural => 'Scrolls',
61         :item_name => 'scroll',
62         #:model_name => 'Scroll',
63         :path_name => 'scrolls',
64         :table_name => 'scrolls',
65         :pickup_item_name => 'scroll',
66         :pickup_column_name => 'id',
67       }
68       # クラスメソッドで名前の活用ができているか
69       set_name? @model, @subjects
70       # インスタンスメソッドからクラスメソッドを呼び出すショートカットが利用できるか
71       set_name? @item, @subjects
72     end
73   end
74     
75   describe 'listに於いて' do
76     it 'list' do
77       expect(@model.parent_model).to be nil
78       expect(@model.list_where).to be_blank
79       expect(@model.list_order).to eq 'scrolls.updated_at desc'
80     end
81   end
82   
83   describe 'extendに於いて' do
84     before do
85     end
86     
87     it 'それぞれのカラムは拡張カラムなのか' do
88       @subjects = {
89         :title => false,
90         :description => false,
91         :visible => false,
92         :author_id => false,
93       }
94       set_extend_column? @model, @subjects
95       set_extend_column? @item, @subjects
96     end
97     
98     it 'カラム名からブーストマニフェストを取得できている' do
99       @subjects = {
100       }
101       set_extend_column? @model, @subjects
102     end
103     
104     it 'Postレベルでブーストしてブースターを確認する' do
105       @names = []
106       set_boosters? @item, @names
107     end
108     
109     it '拡張データを畳み込める' do
110       @extend_column_names = []
111       @attr = {}
112       fold_extend_settings? @model, @attr, @extend_column_names
113     end
114     
115   end
116   
117   describe 'めんどいからチェックしない機能に於いて' do
118     it 'とりあえず呼び出すところまでは確認しておく' do
119       define_test @item
120     end
121     # 
122     # list_opt, list_json_opt, show_opt, show_json_opt, form_template, form_name
123     # supply_default, overwrite, visible?
124   end
125   
126 end
127