1 # -*- encoding: utf-8 -*-
6 include ManifestsMacros
11 describe 'ペタナイズに於いて' do
12 it 'コミックにストーリーを差し込むためのリーフである' do
13 expect(@model.ancestors.include?(Peta::Leaf)).to eq true
16 expect(@model.my_peta.parent_model_name).to eq 'comic'
18 describe 'ブーストに於いて' do
20 expect(@model.my_peta.boost.keys).to be_empty
26 describe 'コントローラに於いて' do
28 @controller = @model.my_controller
30 it 'コミストのためのコントローラである' do
31 expect(@model.item_name).to eq 'comic_story'
33 describe 'actionに於いて' do
35 @actions = @controller.actions
36 @actions_names = ['index', 'by_comic', 'by_story', 'show',
37 'count', 'count_by_comic', 'count_by_story',
38 'new', 'edit', 'create', 'update', 'destroy']
40 it 'これらのアクションが定義されている' do
41 set_actions? @actions, @actions_names
43 describe 'baseに於いて' do
45 describe 'indexに於いて' do
47 @action = @actions['index']
49 it 'listタイプのアクションである' do
50 expect(@action.type).to eq 'list'
52 it 'マニフェストから設定を取り出している' do
53 # コミストの公開リストを返すように定義している
54 set_list_action? @action, 'comic_story', 'public'
57 describe 'by_comicに於いて' do
59 @action = @actions['by_comic']
61 it 'listタイプのアクションである' do
62 expect(@action.type).to eq 'list'
64 it 'マニフェストから設定を取り出している' do
65 # コミストの作家フィルタリストを返すように定義している
66 set_list_action? @action, 'comic_story', 'by_comic'
69 describe 'by_storyに於いて' do
71 @action = @actions['by_story']
73 it 'listタイプのアクションである' do
74 expect(@action.type).to eq 'list'
76 it 'マニフェストから設定を取り出している' do
77 #コミストのコマフィルタリストを返すように定義している
78 set_list_action? @action, 'comic_story', 'by_story'
81 describe 'showに於いて' do
83 @action = @actions['show']
85 it 'showタイプのアクションである' do
86 expect(@action.type).to eq 'show'
89 describe 'countに於いて' do
91 @action = @actions['count']
93 it 'countタイプのアクションである' do
94 expect(@action.type).to eq 'count'
96 it 'マニフェストから設定を取り出している' do
97 #コミストの公開リストのカウントを返すように定義している
98 set_list_action? @action, 'comic_story', 'public'
101 describe 'count_by_comicに於いて' do
103 @action = @actions['count_by_comic']
105 it 'countタイプのアクションである' do
106 expect(@action.type).to eq 'count'
108 it 'マニフェストから設定を取り出している' do
109 # コミストの作家フィルタリストのカウントを返すように定義している
110 set_list_action? @action, 'comic_story', 'by_comic'
113 describe 'count_by_storyに於いて' do
115 @action = @actions['count_by_story']
117 it 'countタイプのアクションである' do
118 expect(@action.type).to eq 'count'
120 it 'マニフェストから設定を取り出している' do
121 # コミストのコマフィルタリストのカウントを返すように定義している
122 set_list_action? @action, 'comic_story', 'by_story'
125 describe 'newに於いて' do
127 @action = @actions['new']
129 it 'newタイプのアクションである' do
130 expect(@action.type).to eq 'new'
133 expect(@action.item_name).to eq 'comic_story'
136 describe 'editに於いて' do
138 @action = @actions['edit']
140 it 'editタイプのアクションである' do
141 expect(@action.type).to eq 'edit'
144 expect(@action.item_name).to eq 'comic_story'
147 describe 'createに於いて' do
149 @action = @actions['create']
151 it 'createタイプのアクションである' do
152 expect(@action.type).to eq 'create'
155 expect(@action.item_name).to eq 'comic_story'
158 describe 'updateに於いて' do
160 @action = @actions['update']
162 it 'updateタイプのアクションである' do
163 expect(@action.type).to eq 'update'
166 expect(@action.item_name).to eq 'comic_story'
169 describe 'destroyに於いて' do
171 @action = @actions['destroy']
173 it 'destroyタイプのアクションである' do
174 expect(@action.type).to eq 'destroy'
177 expect(@action.item_name).to eq 'comic_story'
184 describe 'モデルに於いて' do
186 @my_manifest = @model.my_manifest
188 it 'サポート機能が動作している' do
189 expect(@my_manifest.model_name).to eq 'comic_story'
190 expect(@my_manifest.classify).to eq @model
191 expect(@my_manifest.table_name).to eq 'comic_stories'
194 describe 'associationsに於いて' do
195 describe 'belongs_toに於いて' do
197 @belongs_to = @my_manifest.associations.belongs_to
198 @names = ['comic', 'story']
200 it 'これらのモデルに所属している' do
201 set_associations? @belongs_to, @names
203 describe 'comicに於いて' do
205 @mani = @belongs_to['comic']
207 it 'マニフェストから設定を取り出している' do
208 # モデル名と外部キーが定義あるいはデフォルト値補充されている
209 expect(@mani.model_name).to eq 'comic'
210 expect(@mani.id_column).to eq 'comic_id'
212 it 'サポート機能が動作している' do
214 expect(@mani.model).to eq Comic
217 describe 'storyに於いて' do
219 @mani = @belongs_to['story']
221 it 'マニフェストから設定を取り出している' do
222 # モデル名と外部キーが定義あるいはデフォルト値補充されている
223 expect(@mani.model_name).to eq 'story'
224 expect(@mani.id_column).to eq 'story_id'
226 it 'サポート機能が動作している' do
228 expect(@mani.model).to eq Story
232 describe 'has_manyに於いて' do
234 @has_many = @model.my_manifest.associations.has_many
237 it 'これらのモデルを所持している' do
238 set_associations? @has_many, @names
243 describe 'attributesに於いて' do
245 @attributes = @model.my_manifest.attributes
247 it 'これらのカラムを定義している' do
248 set_attributes? @attributes,
249 ['id', 'comic_id', 'story_id', 't',
250 'created_at', 'updated_at']
252 describe 'comic_idに於いて' do
254 @attribute = @attributes['comic_id']
257 expect(@attribute.type).to eq 'number'
260 describe 'story_idに於いて' do
262 @attribute = @attributes['story_id']
265 expect(@attribute.type).to eq 'number'
270 @attribute = @attributes['t']
273 expect(@attribute.type).to eq 'number'