zen 0.2.8 → 0.3b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. data/.gems +20 -0
  2. data/.mailmap +3 -2
  3. data/.rvmrc +1 -1
  4. data/.travis.yml +13 -2
  5. data/.yardopts +13 -0
  6. data/AUTHORS +1 -1
  7. data/README.md +115 -77
  8. data/Rakefile +6 -7
  9. data/bin/zen +12 -5
  10. data/guide/_static/categories/categories.png +0 -0
  11. data/guide/_static/categories/category_groups.png +0 -0
  12. data/guide/_static/categories/new_category.png +0 -0
  13. data/guide/_static/categories/new_category_group.png +0 -0
  14. data/guide/_static/comments/comments.png +0 -0
  15. data/guide/_static/comments/edit_comment.png +0 -0
  16. data/guide/_static/custom_fields/custom_field_groups.png +0 -0
  17. data/guide/_static/custom_fields/custom_field_types.png +0 -0
  18. data/guide/_static/custom_fields/custom_fields.png +0 -0
  19. data/guide/_static/custom_fields/edit_custom_field_general.png +0 -0
  20. data/guide/_static/custom_fields/edit_custom_field_group.png +0 -0
  21. data/guide/_static/custom_fields/edit_custom_field_settings.png +0 -0
  22. data/guide/_static/custom_fields/edit_custom_field_type.png +0 -0
  23. data/guide/_static/menus/edit_menu.png +0 -0
  24. data/guide/_static/menus/edit_menu_item.png +0 -0
  25. data/guide/_static/menus/menu_items.png +0 -0
  26. data/guide/_static/menus/menus.png +0 -0
  27. data/guide/_static/sections/edit_entry.png +0 -0
  28. data/guide/_static/sections/edit_entry_categories.png +0 -0
  29. data/guide/_static/sections/edit_entry_general.png +0 -0
  30. data/guide/_static/sections/edit_entry_meta.png +0 -0
  31. data/guide/_static/sections/edit_section_comments.png +0 -0
  32. data/guide/_static/sections/edit_section_general.png +0 -0
  33. data/guide/_static/sections/edit_section_groups.png +0 -0
  34. data/guide/_static/sections/entries.png +0 -0
  35. data/guide/_static/sections/sections.png +0 -0
  36. data/guide/_static/settings/overview_general.png +0 -0
  37. data/guide/_static/settings/overview_security.png +0 -0
  38. data/guide/_static/settings/overview_user.png +0 -0
  39. data/guide/_static/users/edit_user.png +0 -0
  40. data/guide/_static/users/edit_user_group.png +0 -0
  41. data/guide/_static/users/edit_user_group_permissions.png +0 -0
  42. data/guide/_static/users/edit_user_permissions.png +0 -0
  43. data/guide/_static/users/overview.png +0 -0
  44. data/guide/_static/users/user_groups_overview.png +0 -0
  45. data/guide/asset_management.md +117 -0
  46. data/{CHANGELOG.md → guide/changelog.md} +42 -0
  47. data/guide/css/common.css +20 -0
  48. data/guide/getting_started.md +61 -0
  49. data/guide/hacking.md +52 -0
  50. data/guide/installation.md +44 -0
  51. data/guide/javascript.md +352 -0
  52. data/lib/vendor/sequel_sluggable.rb +137 -0
  53. data/lib/yard/tags.rb +13 -0
  54. data/lib/zen.rb +148 -78
  55. data/lib/zen/asset_groups.rb +85 -0
  56. data/lib/zen/bin/create.rb +267 -56
  57. data/lib/zen/bin/default.rb +84 -0
  58. data/lib/zen/controller/admin_controller.rb +1 -82
  59. data/lib/zen/controller/base_controller.rb +9 -5
  60. data/lib/zen/controller/frontend_controller.rb +0 -1
  61. data/lib/zen/controller/main_controller.rb +30 -42
  62. data/lib/zen/controller/preview.rb +9 -8
  63. data/lib/zen/controller/translations.rb +49 -0
  64. data/lib/zen/error.rb +17 -0
  65. data/lib/zen/event.rb +118 -0
  66. data/lib/zen/helper/asset.rb +63 -0
  67. data/lib/zen/helper/breadcrumb.rb +1 -4
  68. data/lib/zen/helper/controller.rb +73 -0
  69. data/lib/zen/helper/locale.rb +42 -0
  70. data/lib/zen/helper/message.rb +0 -3
  71. data/lib/zen/helper/search.rb +54 -0
  72. data/lib/zen/helper/stacked_aspect.rb +249 -0
  73. data/lib/zen/helper/theme.rb +3 -10
  74. data/lib/zen/language.rb +356 -181
  75. data/lib/zen/language/en/zen_general.rb +52 -0
  76. data/lib/zen/language/en/zen_models.rb +19 -0
  77. data/lib/zen/language/nl/zen_general.rb +57 -0
  78. data/lib/zen/language/nl/zen_models.rb +22 -0
  79. data/lib/zen/language/translation.rb +132 -0
  80. data/lib/zen/languages.rb +9 -0
  81. data/lib/zen/layout/admin.xhtml +3 -3
  82. data/lib/zen/layout/login.xhtml +1 -1
  83. data/lib/zen/markup.rb +189 -0
  84. data/lib/zen/model/helper.rb +65 -0
  85. data/lib/zen/model/init.rb +62 -0
  86. data/lib/zen/model/methods.rb +6 -7
  87. data/lib/zen/package.rb +312 -201
  88. data/lib/zen/package/all.rb +4 -3
  89. data/lib/zen/package/categories/lib/categories.rb +29 -41
  90. data/lib/zen/package/categories/lib/categories/controller/categories.rb +185 -130
  91. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +172 -102
  92. data/lib/zen/package/categories/lib/categories/helper/category.rb +4 -9
  93. data/lib/zen/package/categories/lib/categories/helper/category_frontend.rb +86 -0
  94. data/lib/zen/package/categories/lib/categories/language/en/categories.rb +40 -0
  95. data/lib/zen/package/categories/lib/categories/language/en/category_groups.rb +39 -0
  96. data/lib/zen/package/categories/lib/categories/language/nl/categories.rb +42 -0
  97. data/lib/zen/package/categories/lib/categories/language/nl/category_groups.rb +42 -0
  98. data/lib/zen/package/categories/lib/categories/model/category.rb +21 -25
  99. data/lib/zen/package/categories/lib/categories/model/category_group.rb +21 -15
  100. data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +25 -26
  101. data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +24 -24
  102. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +18 -20
  103. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +21 -18
  104. data/lib/zen/package/comments/lib/comments.rb +30 -50
  105. data/lib/zen/package/comments/lib/comments/anti_spam.rb +138 -0
  106. data/lib/zen/package/comments/lib/comments/controller/comments.rb +159 -92
  107. data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +122 -34
  108. data/lib/zen/package/comments/lib/comments/helper/comment.rb +0 -3
  109. data/lib/zen/package/comments/lib/comments/helper/comment_frontend.rb +90 -0
  110. data/lib/zen/package/comments/lib/comments/language/en/comments.rb +57 -0
  111. data/lib/zen/package/comments/lib/comments/language/nl/comments.rb +61 -0
  112. data/lib/zen/package/comments/lib/comments/model/comment.rb +147 -49
  113. data/lib/zen/package/comments/lib/comments/model/comment_status.rb +0 -2
  114. data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +37 -40
  115. data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +23 -42
  116. data/lib/zen/package/comments/migrations/1308774099_comment_status.rb +12 -4
  117. data/lib/zen/package/comments/migrations/1313851786_remove_defensio_signature.rb +11 -0
  118. data/lib/zen/package/custom_fields/lib/custom_fields.rb +40 -43
  119. data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +72 -17
  120. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +154 -118
  121. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +147 -90
  122. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +161 -131
  123. data/lib/zen/package/custom_fields/lib/custom_fields/helper/custom_field.rb +4 -9
  124. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +42 -0
  125. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.rb +51 -0
  126. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.rb +60 -0
  127. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.rb +41 -0
  128. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.rb +49 -0
  129. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.rb +61 -0
  130. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +18 -23
  131. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +20 -19
  132. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_method.rb +1 -3
  133. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +19 -9
  134. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +18 -15
  135. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +18 -18
  136. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +30 -24
  137. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/form.xhtml +15 -10
  138. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/index.xhtml +24 -19
  139. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +18 -13
  140. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +30 -20
  141. data/lib/zen/package/extensions/lib/extensions.rb +20 -0
  142. data/lib/zen/package/extensions/lib/extensions/controller/extensions.rb +41 -0
  143. data/lib/zen/package/extensions/lib/extensions/language/en/extensions.rb +23 -0
  144. data/lib/zen/package/extensions/lib/extensions/language/nl/extensions.rb +25 -0
  145. data/lib/zen/package/extensions/lib/extensions/view/admin/extensions/index.xhtml +86 -0
  146. data/lib/zen/package/menu.rb +109 -0
  147. data/lib/zen/package/menus/lib/menus.rb +25 -34
  148. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +143 -107
  149. data/lib/zen/package/menus/lib/menus/controller/menus.rb +166 -115
  150. data/lib/zen/package/menus/lib/menus/helper/menu.rb +2 -8
  151. data/lib/zen/package/menus/lib/menus/helper/menu_frontend.rb +114 -0
  152. data/lib/zen/package/menus/lib/menus/language/en/menu_items.rb +48 -0
  153. data/lib/zen/package/menus/lib/menus/language/en/menus.rb +48 -0
  154. data/lib/zen/package/menus/lib/menus/language/nl/menu_items.rb +48 -0
  155. data/lib/zen/package/menus/lib/menus/language/nl/menus.rb +50 -0
  156. data/lib/zen/package/menus/lib/menus/model/menu.rb +24 -17
  157. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +37 -13
  158. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +32 -25
  159. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +23 -17
  160. data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +31 -26
  161. data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +20 -22
  162. data/lib/zen/package/sections/lib/sections.rb +25 -68
  163. data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +178 -138
  164. data/lib/zen/package/sections/lib/sections/controller/sections.rb +173 -140
  165. data/lib/zen/package/sections/lib/sections/helper/section.rb +3 -6
  166. data/lib/zen/package/sections/lib/sections/helper/section_frontend.rb +146 -0
  167. data/lib/zen/package/sections/lib/sections/language/en/section_entries.rb +50 -0
  168. data/lib/zen/package/sections/lib/sections/language/en/sections.rb +55 -0
  169. data/lib/zen/package/sections/lib/sections/language/nl/section_entries.rb +50 -0
  170. data/lib/zen/package/sections/lib/sections/language/nl/sections.rb +55 -0
  171. data/lib/zen/package/sections/lib/sections/model/section.rb +36 -36
  172. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +52 -59
  173. data/lib/zen/package/sections/lib/sections/model/section_entry_status.rb +2 -2
  174. data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +24 -21
  175. data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +24 -26
  176. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +33 -31
  177. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +24 -25
  178. data/lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb +14 -10
  179. data/lib/zen/package/sections/migrations/1308813320_section_entry_statuses.rb +12 -6
  180. data/lib/zen/package/settings/lib/settings.rb +25 -120
  181. data/lib/zen/package/settings/lib/settings/blue_form_parameters.rb +157 -0
  182. data/lib/zen/package/settings/lib/settings/controller/settings.rb +94 -69
  183. data/lib/zen/package/settings/lib/settings/language/en/settings.rb +41 -0
  184. data/lib/zen/package/settings/lib/settings/language/nl/settings.rb +41 -0
  185. data/lib/zen/package/settings/lib/settings/model/setting.rb +0 -2
  186. data/lib/zen/package/settings/lib/settings/setting.rb +379 -0
  187. data/lib/zen/package/settings/lib/settings/setting_groups.rb +11 -0
  188. data/lib/zen/package/settings/lib/settings/settings.rb +83 -0
  189. data/lib/zen/package/settings/lib/settings/settings_group.rb +84 -0
  190. data/lib/zen/package/settings/lib/settings/singleton_methods.rb +35 -0
  191. data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +15 -57
  192. data/lib/zen/package/settings/migrations/1321197919_remove_unused_columns.rb +17 -0
  193. data/lib/zen/package/users/lib/users.rb +51 -36
  194. data/lib/zen/package/users/lib/users/controller/user_groups.rb +133 -98
  195. data/lib/zen/package/users/lib/users/controller/users.rb +253 -136
  196. data/lib/zen/package/users/lib/users/helper/access.rb +102 -0
  197. data/lib/zen/package/users/lib/users/helper/acl.rb +113 -0
  198. data/lib/zen/package/users/lib/users/helper/users.rb +41 -24
  199. data/lib/zen/package/users/lib/users/language/en/permissions.rb +16 -0
  200. data/lib/zen/package/users/lib/users/language/en/user_groups.rb +39 -0
  201. data/lib/zen/package/users/lib/users/language/en/users.rb +73 -0
  202. data/lib/zen/package/users/lib/users/language/nl/permissions.rb +16 -0
  203. data/lib/zen/package/users/lib/users/language/nl/user_groups.rb +41 -0
  204. data/lib/zen/package/users/lib/users/language/nl/users.rb +74 -0
  205. data/lib/zen/package/users/lib/users/model/permission.rb +28 -0
  206. data/lib/zen/package/users/lib/users/model/user.rb +104 -65
  207. data/lib/zen/package/users/lib/users/model/user_group.rb +28 -24
  208. data/lib/zen/package/users/lib/users/model/user_status.rb +27 -0
  209. data/lib/zen/package/users/lib/users/public/admin/css/users/permissions.css +22 -0
  210. data/lib/zen/package/users/lib/users/public/admin/js/users/permissions.js +33 -0
  211. data/lib/zen/package/users/lib/users/settings.rb +19 -0
  212. data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +58 -28
  213. data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +19 -15
  214. data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +93 -62
  215. data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +23 -36
  216. data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +13 -6
  217. data/lib/zen/package/users/lib/users/view/admin/users/permissions.xhtml +33 -0
  218. data/lib/zen/package/users/lib/users/view/admin/users/register.xhtml +52 -0
  219. data/lib/zen/package/users/migrations/1313786058_update_default_date.rb +41 -0
  220. data/lib/zen/package/users/migrations/1316432327_permissions.rb +36 -0
  221. data/lib/zen/package/users/migrations/1320272365_status_ids.rb +67 -0
  222. data/lib/zen/public/admin/css/zen/buttons.css +3 -11
  223. data/lib/zen/public/admin/css/zen/datepicker.css +23 -13
  224. data/lib/zen/public/admin/css/zen/editor.css +6 -14
  225. data/lib/zen/public/admin/css/zen/forms.css +19 -12
  226. data/lib/zen/public/admin/css/zen/general.css +22 -18
  227. data/lib/zen/public/admin/css/zen/grid.css +1 -20
  228. data/lib/zen/public/admin/css/zen/layout.css +26 -11
  229. data/lib/zen/public/admin/css/zen/messages.css +3 -10
  230. data/lib/zen/public/admin/css/zen/reset.css +13 -15
  231. data/lib/zen/public/admin/css/zen/tables.css +8 -10
  232. data/lib/zen/public/admin/css/zen/tabs.css +2 -10
  233. data/lib/zen/public/admin/css/zen/window.css +2 -8
  234. data/lib/zen/public/admin/js/vendor/datepicker.js +540 -240
  235. data/lib/zen/public/admin/js/vendor/mootools/core.js +273 -283
  236. data/lib/zen/public/admin/js/vendor/mootools/more.js +131 -136
  237. data/lib/zen/public/admin/js/zen/index.js +8 -14
  238. data/lib/zen/public/admin/js/zen/lib/editor.js +36 -33
  239. data/lib/zen/public/admin/js/zen/lib/editor/markdown.js +0 -6
  240. data/lib/zen/public/admin/js/zen/lib/editor/textile.js +0 -6
  241. data/lib/zen/public/admin/js/zen/lib/html_table.js +0 -5
  242. data/lib/zen/public/admin/js/zen/lib/tabs.js +22 -79
  243. data/lib/zen/public/admin/js/zen/lib/window.js +12 -22
  244. data/lib/zen/spec/bacon/color_output.rb +1 -1
  245. data/lib/zen/spec/helper.rb +6 -11
  246. data/lib/zen/spec/simplecov.rb +3 -3
  247. data/lib/zen/task.rb +0 -1
  248. data/lib/zen/task/build.rake +46 -26
  249. data/lib/zen/task/clean.rake +14 -7
  250. data/lib/zen/task/db.rake +31 -29
  251. data/lib/zen/task/package.rake +19 -23
  252. data/lib/zen/task/proto.rake +3 -5
  253. data/lib/zen/task/setup.rake +4 -0
  254. data/lib/zen/task/test.rake +31 -6
  255. data/lib/zen/task/theme.rake +13 -19
  256. data/lib/zen/theme.rb +377 -52
  257. data/lib/zen/validation.rb +22 -30
  258. data/lib/zen/version.rb +1 -2
  259. data/lib/zen/view/bottom.xhtml +9 -1
  260. data/lib/zen/view/head.xhtml +1 -1
  261. data/lib/zen/view/main.xhtml +1 -1
  262. data/lib/zen/view/search.xhtml +9 -0
  263. data/proto/app/Rakefile +0 -1
  264. data/proto/app/app.rb +21 -16
  265. data/proto/app/config/config.rb.erb +41 -0
  266. data/proto/app/config/{database.rb → database.rb.erb} +17 -14
  267. data/proto/app/config/middlewares.rb +1 -1
  268. data/proto/app/theme/default/index.xhtml +25 -0
  269. data/proto/app/theme/theme.rb +19 -0
  270. data/proto/app/{log/database/dev → tmp}/.gitkeep +0 -0
  271. data/proto/migration.rb +3 -5
  272. data/proto/rack/thin.yml +41 -0
  273. data/proto/rack/unicorn.rb +38 -0
  274. data/spec/Rakefile +15 -11
  275. data/spec/fixtures/zen/helper/controller.rb +13 -0
  276. data/spec/fixtures/zen/helper/locale.rb +7 -0
  277. data/spec/fixtures/zen/helper/message.rb +0 -4
  278. data/spec/fixtures/zen/language.rb +31 -0
  279. data/spec/fixtures/zen/language/en/spec.rb +11 -0
  280. data/spec/fixtures/zen/language/nl/spec.rb +11 -0
  281. data/spec/fixtures/zen/package.rb +0 -10
  282. data/spec/fixtures/zen/package/categories/helper/category_frontend.rb +16 -0
  283. data/spec/fixtures/zen/package/comments/helper/comment_frontend.rb +16 -0
  284. data/spec/fixtures/zen/package/sections/helper/section_frontend.rb +16 -0
  285. data/spec/fixtures/zen/package/settings/controller/settings.rb +17 -0
  286. data/spec/fixtures/zen/package/users/helper/access.rb +18 -0
  287. data/spec/fixtures/zen/package/users/helper/acl.rb +23 -0
  288. data/spec/fixtures/zen/theme/{default-section → default}/index.xhtml +0 -0
  289. data/spec/helper.rb +12 -27
  290. data/{proto/app/log/database/live → spec/public}/.gitkeep +0 -0
  291. data/spec/zen/controller/admin_controller.rb +5 -6
  292. data/spec/zen/controller/main_controller.rb +29 -35
  293. data/spec/zen/controller/preview.rb +9 -10
  294. data/spec/zen/event.rb +44 -0
  295. data/spec/zen/helper/breadcrumb.rb +4 -5
  296. data/spec/zen/helper/controller.rb +21 -0
  297. data/spec/zen/helper/locale.rb +25 -0
  298. data/spec/zen/helper/message.rb +4 -11
  299. data/spec/zen/helper/theme.rb +11 -14
  300. data/spec/zen/language.rb +48 -22
  301. data/spec/zen/markup.rb +39 -0
  302. data/spec/zen/package.rb +48 -11
  303. data/spec/zen/package/categories/controller/categories.rb +99 -45
  304. data/spec/zen/package/categories/controller/category_groups.rb +109 -33
  305. data/spec/zen/package/categories/helper/category.rb +19 -32
  306. data/spec/zen/package/categories/helper/category_frontend.rb +61 -0
  307. data/spec/zen/package/comments/anti_spam.rb +50 -0
  308. data/spec/zen/package/comments/controller/comments.rb +121 -61
  309. data/spec/zen/package/comments/controller/comments_form.rb +120 -94
  310. data/spec/zen/package/comments/helper/comment.rb +13 -13
  311. data/spec/zen/package/comments/helper/comment_frontend.rb +92 -0
  312. data/spec/zen/package/custom_fields/blue_form_parameters.rb +50 -50
  313. data/spec/zen/package/custom_fields/controller/custom_field_groups.rb +135 -43
  314. data/spec/zen/package/custom_fields/controller/custom_field_types.rb +153 -48
  315. data/spec/zen/package/custom_fields/controller/custom_fields.rb +130 -51
  316. data/spec/zen/package/custom_fields/helper/custom_field.rb +8 -8
  317. data/spec/zen/package/extensions/controller/extensions.rb +38 -0
  318. data/spec/zen/package/menus/controller/menu_items.rb +121 -42
  319. data/spec/zen/package/menus/controller/menus.rb +125 -38
  320. data/spec/zen/package/menus/helper/menu.rb +26 -26
  321. data/spec/zen/package/menus/helper/menu_frontend.rb +104 -0
  322. data/spec/zen/package/sections/controller/section_entries.rb +145 -89
  323. data/spec/zen/package/sections/controller/sections.rb +130 -35
  324. data/spec/zen/package/sections/helper/section.rb +27 -38
  325. data/spec/zen/package/sections/helper/section_frontend.rb +160 -0
  326. data/spec/zen/package/settings/controller/settings.rb +73 -8
  327. data/spec/zen/package/settings/settings.rb +119 -0
  328. data/spec/zen/package/users/controller/user_groups.rb +134 -34
  329. data/spec/zen/package/users/controller/users.rb +189 -44
  330. data/spec/zen/package/users/helper/access.rb +29 -0
  331. data/spec/zen/package/users/helper/acl.rb +46 -0
  332. data/spec/zen/package/users/helper/users.rb +20 -64
  333. data/spec/zen/theme.rb +7 -9
  334. data/spec/zen/validation.rb +1 -2
  335. data/zen.gemspec +25 -22
  336. metadata +303 -222
  337. data/lib/zen/asset.rb +0 -292
  338. data/lib/zen/bin/runner.rb +0 -118
  339. data/lib/zen/error/language_error.rb +0 -10
  340. data/lib/zen/error/package_error.rb +0 -10
  341. data/lib/zen/error/plugin_error.rb +0 -10
  342. data/lib/zen/error/theme_error.rb +0 -10
  343. data/lib/zen/error/validation_error.rb +0 -10
  344. data/lib/zen/helper/acl.rb +0 -182
  345. data/lib/zen/helper/blue_form_vendor.rb +0 -689
  346. data/lib/zen/language/en/zen_general.yml +0 -25
  347. data/lib/zen/language/en/zen_models.yml +0 -13
  348. data/lib/zen/language/nl/zen_general.yml +0 -25
  349. data/lib/zen/language/nl/zen_models.yml +0 -13
  350. data/lib/zen/model/settings.rb +0 -78
  351. data/lib/zen/package/base.rb +0 -62
  352. data/lib/zen/package/categories/lib/categories/language/en/categories.yml +0 -36
  353. data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +0 -34
  354. data/lib/zen/package/categories/lib/categories/language/nl/categories.yml +0 -40
  355. data/lib/zen/package/categories/lib/categories/language/nl/category_groups.yml +0 -34
  356. data/lib/zen/package/categories/lib/categories/plugin/categories.rb +0 -141
  357. data/lib/zen/package/comments/lib/comments/language/en/comments.yml +0 -48
  358. data/lib/zen/package/comments/lib/comments/language/nl/comments.yml +0 -50
  359. data/lib/zen/package/comments/lib/comments/plugin/anti_spam.rb +0 -156
  360. data/lib/zen/package/comments/lib/comments/plugin/comments.rb +0 -115
  361. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +0 -33
  362. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.yml +0 -40
  363. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +0 -54
  364. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.yml +0 -33
  365. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.yml +0 -40
  366. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.yml +0 -54
  367. data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +0 -41
  368. data/lib/zen/package/menus/lib/menus/language/en/menus.yml +0 -40
  369. data/lib/zen/package/menus/lib/menus/language/nl/menu_items.yml +0 -41
  370. data/lib/zen/package/menus/lib/menus/language/nl/menus.yml +0 -40
  371. data/lib/zen/package/menus/lib/menus/plugin/menus.rb +0 -152
  372. data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +0 -44
  373. data/lib/zen/package/sections/lib/sections/language/en/sections.yml +0 -48
  374. data/lib/zen/package/sections/lib/sections/language/nl/section_entries.yml +0 -44
  375. data/lib/zen/package/sections/lib/sections/language/nl/sections.yml +0 -48
  376. data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +0 -244
  377. data/lib/zen/package/sections/lib/sections/plugin/sections.rb +0 -87
  378. data/lib/zen/package/settings/lib/settings/language/en/settings.yml +0 -36
  379. data/lib/zen/package/settings/lib/settings/language/nl/settings.yml +0 -37
  380. data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +0 -39
  381. data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +0 -133
  382. data/lib/zen/package/settings/lib/settings/plugin/settings.rb +0 -251
  383. data/lib/zen/package/users/lib/users/controller/access_rules.rb +0 -284
  384. data/lib/zen/package/users/lib/users/language/en/access_rules.yml +0 -38
  385. data/lib/zen/package/users/lib/users/language/en/user_groups.yml +0 -32
  386. data/lib/zen/package/users/lib/users/language/en/users.yml +0 -57
  387. data/lib/zen/package/users/lib/users/language/nl/access_rules.yml +0 -38
  388. data/lib/zen/package/users/lib/users/language/nl/user_groups.yml +0 -32
  389. data/lib/zen/package/users/lib/users/language/nl/users.yml +0 -57
  390. data/lib/zen/package/users/lib/users/model/access_rule.rb +0 -42
  391. data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +0 -65
  392. data/lib/zen/package/users/lib/users/public/admin/js/users/lib/access_rules.js +0 -49
  393. data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +0 -120
  394. data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +0 -102
  395. data/lib/zen/plugin.rb +0 -182
  396. data/lib/zen/plugin/base.rb +0 -46
  397. data/lib/zen/plugin/helper.rb +0 -47
  398. data/lib/zen/plugin/markup/lib/markup.rb +0 -14
  399. data/lib/zen/plugin/markup/lib/markup/language/en/markup.yml +0 -6
  400. data/lib/zen/plugin/markup/lib/markup/markup.rb +0 -165
  401. data/lib/zen/public/admin/js/zen/lib/asset.js +0 -111
  402. data/lib/zen/task/plugin.rake +0 -18
  403. data/lib/zen/theme/base.rb +0 -65
  404. data/proto/app/config/config.rb +0 -18
  405. data/spec/fixtures/zen/language/en/spec.yml +0 -10
  406. data/spec/fixtures/zen/language/nl/spec.yml +0 -7
  407. data/spec/fixtures/zen/package/settings/plugin/settings.rb +0 -20
  408. data/spec/zen/asset.rb +0 -97
  409. data/spec/zen/bin/create.rb +0 -89
  410. data/spec/zen/bin/runner.rb +0 -47
  411. data/spec/zen/helper/acl.rb +0 -149
  412. data/spec/zen/package/categories/plugin/categories.rb +0 -92
  413. data/spec/zen/package/comments/plugin/anti_spam.rb +0 -59
  414. data/spec/zen/package/comments/plugin/comments.rb +0 -107
  415. data/spec/zen/package/menus/plugin/menus.rb +0 -120
  416. data/spec/zen/package/sections/plugin/section_entries.rb +0 -161
  417. data/spec/zen/package/sections/plugin/sections.rb +0 -75
  418. data/spec/zen/package/settings/plugin/settings.rb +0 -33
  419. data/spec/zen/package/users/controller/access_rules.rb +0 -90
  420. data/spec/zen/plugin.rb +0 -64
  421. data/spec/zen/plugin/helper.rb +0 -11
  422. data/spec/zen/plugin/markup.rb +0 -44
@@ -3,39 +3,54 @@ require File.expand_path('../../../../../helper', __FILE__)
3
3
  describe("Categories::Controller::Categories") do
4
4
  behaves_like :capybara
5
5
 
6
- @group = Categories::Model::CategoryGroup.create(:name => 'Spec group')
6
+ after do
7
+ Zen::Event.delete(
8
+ :before_new_category,
9
+ :after_new_category,
10
+ :before_edit_category,
11
+ :after_edit_category,
12
+ :before_delete_category,
13
+ :after_delete_category
14
+ )
15
+ end
16
+
17
+ group = Categories::Model::CategoryGroup.create(:name => 'Spec group')
18
+ index_url = Categories::Controller::Categories.r(:index, group.id).to_s
19
+ edit_url = Categories::Controller::Categories.r(:edit , group.id).to_s
20
+ save_button = lang('categories.buttons.save')
21
+ delete_button = lang('categories.buttons.delete')
7
22
 
8
23
  it('Submit a form without a CSRF token') do
9
24
  response = page.driver.post(
10
25
  Categories::Controller::Categories.r(:save).to_s
11
26
  )
12
27
 
13
- response.body.include?(lang('zen_general.errors.csrf')).should === true
14
- response.status.should === 403
28
+ response.body.include?(lang('zen_general.errors.csrf')).should == true
29
+ response.status.should == 403
15
30
  end
16
31
 
17
- it("No categories should exist") do
18
- index_url = Categories::Controller::Categories \
19
- .r(:index, @group.id).to_s
20
-
32
+ it('Find no existing categories') do
21
33
  message = lang('categories.messages.no_categories')
22
34
 
23
35
  visit(index_url)
24
36
 
25
- page.has_content?(message).should === true
26
- page.has_selector?('table tbody tr').should === false
27
- current_path.should === index_url
37
+ page.has_content?(message).should == true
38
+ page.has_selector?('table tbody tr').should == false
39
+ current_path.should == index_url
28
40
  end
29
41
 
30
42
  it("Create a new category") do
31
- index_url = Categories::Controller::Categories \
32
- .r(:index, @group.id).to_s
43
+ new_button = lang('categories.buttons.new')
44
+ event_name = nil
45
+ event_name2 = nil
33
46
 
34
- edit_url = Categories::Controller::Categories \
35
- .r(:edit , @group.id).to_s
47
+ Zen::Event.listen(:before_new_category) do |category|
48
+ event_name = category.name
49
+ end
36
50
 
37
- new_button = lang('categories.buttons.new')
38
- save_button = lang('categories.buttons.save')
51
+ Zen::Event.listen(:after_new_category) do |category|
52
+ event_name2 = category.name
53
+ end
39
54
 
40
55
  visit(index_url)
41
56
  click_link(new_button)
@@ -46,16 +61,45 @@ describe("Categories::Controller::Categories") do
46
61
  end
47
62
 
48
63
  current_path.should =~ /#{edit_url}\/[0-9]+/
64
+ event_name.should == 'Spec category'
65
+ event_name2.should == event_name
66
+ end
67
+
68
+ it('Search for a category') do
69
+ visit(index_url)
70
+ search_button = lang('zen_general.buttons.search')
71
+ error = lang('zen_general.errors.invalid_search')
72
+
73
+ within('#search_form') do
74
+ fill_in('query', :with => 'Spec')
75
+ click_on(search_button)
76
+ end
77
+
78
+ page.has_content?(error).should == false
79
+ page.has_content?('Spec category').should == true
80
+
81
+ within('#search_form') do
82
+ fill_in('query', :with => 'does not exist')
83
+ click_on(search_button)
84
+ end
85
+
86
+ page.has_content?(error).should == false
87
+ page.has_content?('Spec category').should == false
88
+ page.has_selector?('table tbody tr').should == false
49
89
  end
50
90
 
51
91
  it("Edit an existing category") do
52
- index_url = Categories::Controller::Categories \
53
- .r(:index, @group.id).to_s
92
+ event_name = nil
93
+ event_name2 = nil
94
+ name = 'Spec category modified 123'
54
95
 
55
- edit_url = Categories::Controller::Categories \
56
- .r(:edit , @group.id).to_s
96
+ Zen::Event.listen(:before_edit_category) do |category|
97
+ event_name = category.name
98
+ end
57
99
 
58
- save_button = lang('categories.buttons.save')
100
+ Zen::Event.listen(:after_edit_category) do |category|
101
+ event_name2 = category.name
102
+ end
59
103
 
60
104
  visit(index_url)
61
105
  click_link('Spec category')
@@ -63,22 +107,28 @@ describe("Categories::Controller::Categories") do
63
107
  current_path.should =~ /#{edit_url}\/[0-9]+/
64
108
 
65
109
  within('#category_form') do
66
- fill_in('name', :with => 'Spec category modified')
110
+ fill_in('name', :with => name)
67
111
  click_on(save_button)
68
112
  end
69
113
 
70
- page.find('input[name="name"]').value.should === 'Spec category modified'
71
- end
114
+ page.find('input[name="name"]').value.should == name
72
115
 
73
- it("Edit an existing category with invalid data") do
74
- index_url = Categories::Controller::Categories \
75
- .r(:index, @group.id).to_s
116
+ event_name.should == name
117
+ event_name2.should == event_name
76
118
 
77
- edit_url = Categories::Controller::Categories \
78
- .r(:edit , @group.id).to_s
119
+ # Modify the name using an event
120
+ Zen::Event.listen(:before_edit_category) do |category|
121
+ category.name = 'Spec category modified'
122
+ end
79
123
 
80
- save_button = lang('categories.buttons.save')
124
+ within('#category_form') do
125
+ click_on(save_button)
126
+ end
81
127
 
128
+ page.find('input[name="name"]').value.should == 'Spec category modified'
129
+ end
130
+
131
+ it("Edit an existing category with invalid data") do
82
132
  visit(index_url)
83
133
  click_link('Spec category')
84
134
 
@@ -89,35 +139,39 @@ describe("Categories::Controller::Categories") do
89
139
  click_on(save_button)
90
140
  end
91
141
 
92
- page.has_selector?('span.error').should === true
142
+ page.has_selector?('span.error').should == true
93
143
  end
94
144
 
95
- it('Try to delete a category without specifying an ID') do
96
- index_url = Categories::Controller::Categories \
97
- .r(:index, @group.id).to_s
98
-
99
- delete_button = lang('categories.buttons.delete')
100
-
145
+ it('Fail to delete a category without an ID') do
101
146
  visit(index_url)
102
147
  click_on(delete_button)
103
148
 
104
- page.has_selector?('input[name="category_ids[]"]').should === true
149
+ page.has_selector?('input[name="category_ids[]"]').should == true
105
150
  end
106
151
 
107
152
  it("Delete an existing category") do
108
- index_url = Categories::Controller::Categories \
109
- .r(:index, @group.id).to_s
153
+ message = lang('categories.messages.no_categories')
154
+ event_name = nil
155
+ event_name2 = nil
110
156
 
111
- message = lang('categories.messages.no_categories')
112
- delete_button = lang('categories.buttons.delete')
157
+ Zen::Event.listen(:before_delete_category) do |category|
158
+ event_name = category.name
159
+ end
160
+
161
+ Zen::Event.listen(:after_delete_category) do |category|
162
+ event_name2 = category.name
163
+ end
113
164
 
114
165
  visit(index_url)
115
166
  check('category_ids[]')
116
167
  click_on(delete_button)
117
168
 
118
- page.has_content?(message).should === true
119
- page.has_selector?('table tbody tr').should === false
169
+ page.has_content?(message).should == true
170
+ page.has_selector?('table tbody tr').should == false
171
+
172
+ event_name.should == 'Spec category modified'
173
+ event_name2.should == event_name
120
174
  end
121
175
 
122
- @group.destroy
176
+ group.destroy
123
177
  end
@@ -5,31 +5,54 @@ Zen::Language.load('category_groups')
5
5
  describe("Categories::Controller::CategoryGroups") do
6
6
  behaves_like :capybara
7
7
 
8
+ index_url = Categories::Controller::CategoryGroups.r(:index).to_s
9
+ new_url = Categories::Controller::CategoryGroups.r(:new).to_s
10
+ edit_url = Categories::Controller::CategoryGroups.r(:edit).to_s
11
+ save_button = lang('category_groups.buttons.save')
12
+ delete_button = lang('category_groups.buttons.delete')
13
+
14
+ after do
15
+ Zen::Event.delete(
16
+ :before_new_category_group,
17
+ :after_new_category_group,
18
+ :before_edit_category_group,
19
+ :after_edit_category_group,
20
+ :before_delete_category_group,
21
+ :after_delete_category_group
22
+ )
23
+ end
24
+
8
25
  it('Submit a form without a CSRF token') do
9
26
  response = page.driver.post(
10
27
  Categories::Controller::CategoryGroups.r(:save).to_s
11
28
  )
12
29
 
13
- response.body.include?(lang('zen_general.errors.csrf')).should === true
14
- response.status.should === 403
30
+ response.body.include?(lang('zen_general.errors.csrf')).should == true
31
+ response.status.should == 403
15
32
  end
16
33
 
17
- it("No category groups should exist") do
18
- index_url = Categories::Controller::CategoryGroups.r(:index).to_s
19
- message = lang('category_groups.messages.no_groups')
34
+ it('Find no existing category groups') do
35
+ message = lang('category_groups.messages.no_groups')
20
36
 
21
37
  visit(index_url)
22
38
 
23
- page.has_content?(message).should === true
24
- page.has_selector?('table tbody tr').should === false
39
+ page.has_content?(message).should == true
40
+ page.has_selector?('table tbody tr').should == false
25
41
  end
26
42
 
27
43
  it("Create a new category group") do
28
- index_url = Categories::Controller::CategoryGroups.r(:index).to_s
29
- new_url = Categories::Controller::CategoryGroups.r(:new).to_s
30
- edit_url = Categories::Controller::CategoryGroups.r(:edit).to_s
31
44
  new_button = lang('category_groups.buttons.new')
32
- save_button = lang('category_groups.buttons.save')
45
+ name = 'Spec category group'
46
+ event_name = nil
47
+ event_name2 = nil
48
+
49
+ Zen::Event.listen(:before_new_category_group) do |group|
50
+ event_name = group.name
51
+ end
52
+
53
+ Zen::Event.listen(:after_new_category_group) do |group|
54
+ event_name2 = group.name
55
+ end
33
56
 
34
57
  visit(index_url)
35
58
  click_link(new_button)
@@ -37,18 +60,53 @@ describe("Categories::Controller::CategoryGroups") do
37
60
  current_path.should == new_url
38
61
 
39
62
  within('#category_group_form') do
40
- fill_in('name', :with => 'Spec category group')
63
+ fill_in('name', :with => name)
41
64
  click_on(save_button)
42
65
  end
43
66
 
44
67
  current_path.should =~ /#{edit_url}\/[0-9]+/
45
- page.find('input[name="name"]').value.should === 'Spec category group'
68
+ page.find('input[name="name"]').value.should == name
69
+
70
+ # Check if the events were run properly
71
+ event_name.should == name
72
+ event_name2.should == event_name
73
+ end
74
+
75
+ it('Search for a category group') do
76
+ visit(index_url)
77
+ search_button = lang('zen_general.buttons.search')
78
+ error = lang('zen_general.errors.invalid_search')
79
+
80
+ within('#search_form') do
81
+ fill_in('query', :with => 'Spec category group')
82
+ click_on(search_button)
83
+ end
84
+
85
+ page.has_content?(error).should == false
86
+ page.has_content?('Spec category group').should == true
87
+
88
+ within('#search_form') do
89
+ fill_in('query', :with => 'does not exist')
90
+ click_on(search_button)
91
+ end
92
+
93
+ page.has_content?(error).should == false
94
+ page.has_content?('Spec category group').should == false
95
+ page.has_selector?('table tbody tr').should == false
46
96
  end
47
97
 
48
98
  it("Edit an existing category group") do
49
- index_url = Categories::Controller::CategoryGroups.r(:index).to_s
50
- edit_url = Categories::Controller::CategoryGroups.r(:edit).to_s
51
- save_button = lang('category_groups.buttons.save')
99
+ event_name = nil
100
+ event_name2 = nil
101
+ name = 'Spec category group 123'
102
+
103
+ Zen::Event.listen(:before_edit_category_group) do |group|
104
+ event_name = group.name
105
+ end
106
+
107
+ Zen::Event.listen(:after_edit_category_group) do |group|
108
+ event_name2 = group.name
109
+ end
52
110
 
53
111
  visit(index_url)
54
112
  click_link('Spec category group')
@@ -56,19 +114,29 @@ describe("Categories::Controller::CategoryGroups") do
56
114
  current_path.should =~ /#{edit_url}\/[0-9]+/
57
115
 
58
116
  within('#category_group_form') do
59
- fill_in('name', :with => 'Spec category group modified')
117
+ fill_in('name', :with => name)
118
+ click_on(save_button)
119
+ end
120
+
121
+ page.find('input[name="name"]').value.should == name
122
+
123
+ event_name.should == name
124
+ event_name2.should == event_name
125
+
126
+ # This time an event should modify the name of a group
127
+ Zen::Event.listen(:before_edit_category_group) do |group|
128
+ group.name = 'Spec category group modified'
129
+ end
130
+
131
+ within('#category_group_form') do
60
132
  click_on(save_button)
61
133
  end
62
134
 
63
135
  page.find('input[name="name"]') \
64
- .value.should === 'Spec category group modified'
136
+ .value.should == 'Spec category group modified'
65
137
  end
66
138
 
67
139
  it("Edit an existing category group with invalid data") do
68
- index_url = Categories::Controller::CategoryGroups.r(:index).to_s
69
- edit_url = Categories::Controller::CategoryGroups.r(:edit).to_s
70
- save_button = lang('category_groups.buttons.save')
71
-
72
140
  visit(index_url)
73
141
  click_link('Spec category group')
74
142
 
@@ -79,30 +147,38 @@ describe("Categories::Controller::CategoryGroups") do
79
147
  click_on(save_button)
80
148
  end
81
149
 
82
- page.has_selector?('span.error').should === true
150
+ page.has_selector?('span.error').should == true
83
151
  end
84
152
 
85
- it('Try to delete a category group without specifying an ID') do
86
- index_url = Categories::Controller::CategoryGroups.r(:index).to_s
87
- delete_button = lang('category_groups.buttons.delete')
88
-
153
+ it('Fail to delete a category group without an ID') do
89
154
  visit(index_url)
90
155
  click_on(delete_button)
91
156
 
92
- page.has_selector?('input[name="category_group_ids[]"]').should === true
157
+ page.has_selector?('input[name="category_group_ids[]"]').should == true
93
158
  end
94
159
 
95
160
  it("Delete an existing category group") do
96
- index_url = Categories::Controller::CategoryGroups.r(:index).to_s
97
- delete_button = lang('category_groups.buttons.delete')
98
- message = lang('category_groups.messages.no_groups')
161
+ message = lang('category_groups.messages.no_groups')
162
+ event_name = nil
163
+ event_name2 = nil
164
+
165
+ Zen::Event.listen(:before_delete_category_group) do |group|
166
+ event_name = group.name
167
+ end
168
+
169
+ Zen::Event.listen(:after_delete_category_group) do |group|
170
+ event_name2 = group.name
171
+ end
99
172
 
100
173
  visit(index_url)
101
174
  check('category_group_ids[]')
102
175
 
103
176
  click_on(delete_button)
104
177
 
105
- page.has_content?(message).should === true
106
- page.has_selector?('table tbody tr').should === false
178
+ page.has_content?(message).should == true
179
+ page.has_selector?('table tbody tr').should == false
180
+
181
+ event_name.should == 'Spec category group modified'
182
+ event_name2.should == event_name
107
183
  end
108
184
  end
@@ -3,44 +3,38 @@ require File.expand_path('../../../../../helper', __FILE__)
3
3
  describe('Ramaze::Helper::Category') do
4
4
  behaves_like :capybara
5
5
 
6
- it('Create the test data') do
7
- @category_group = ::Categories::Model::CategoryGroup.create(
8
- :name => 'Spec group'
9
- )
10
-
11
- @category = ::Categories::Model::Category.create(
12
- :name => 'Spec category',
13
- :category_group_id => @category_group.id
14
- )
15
-
16
- @category_group.name.should === 'Spec group'
17
- @category.name.should === 'Spec category'
18
- end
6
+ category_group = ::Categories::Model::CategoryGroup.create(
7
+ :name => 'Spec group'
8
+ )
9
+
10
+ category = ::Categories::Model::Category.create(
11
+ :name => 'Spec category',
12
+ :category_group_id => category_group.id
13
+ )
19
14
 
20
15
  it('Validate a valid category group') do
21
16
  url = ::Categories::Controller::Categories.r(
22
- :index, @category_group.id
17
+ :index, category_group.id
23
18
  ).to_s
24
19
 
25
20
  visit(url)
26
21
 
27
- current_path.should \
28
- === "/admin/categories/index/#{@category_group.id}"
22
+ current_path.should == "/admin/categories/index/#{category_group.id}"
29
23
  end
30
24
 
31
25
  it('Validate an invalid category group') do
32
26
  url = ::Categories::Controller::Categories.r(
33
- :index, @category_group.id + 1
27
+ :index, category_group.id + 1
34
28
  ).to_s
35
29
 
36
30
  visit(url)
37
31
 
38
- current_path.should === '/admin/category-groups/index'
32
+ current_path.should == '/admin/category-groups/index'
39
33
  end
40
34
 
41
35
  it('Validate a valid category') do
42
- group_id = @category_group.id
43
- cat_id = @category.id
36
+ group_id = category_group.id
37
+ cat_id = category.id
44
38
 
45
39
  url = ::Categories::Controller::Categories.r(
46
40
  :edit, group_id, cat_id
@@ -48,12 +42,11 @@ describe('Ramaze::Helper::Category') do
48
42
 
49
43
  visit(url)
50
44
 
51
- current_path.should \
52
- === "/admin/categories/edit/#{group_id}/#{cat_id}"
45
+ current_path.should == "/admin/categories/edit/#{group_id}/#{cat_id}"
53
46
  end
54
47
 
55
48
  it('Validate an invalid category') do
56
- group_id = @category_group.id
49
+ group_id = category_group.id
57
50
 
58
51
  url = ::Categories::Controller::Categories.r(
59
52
  :edit, group_id, group_id + 1
@@ -61,15 +54,9 @@ describe('Ramaze::Helper::Category') do
61
54
 
62
55
  visit(url)
63
56
 
64
- current_path.should \
65
- === "/admin/categories/index/#{group_id}"
57
+ current_path.should == "/admin/categories/index/#{group_id}"
66
58
  end
67
59
 
68
- it('Delete the test data') do
69
- @category.destroy
70
- @category_group.destroy
71
-
72
- ::Categories::Model::CategoryGroup[:name => 'Spec group'].should === nil
73
- ::Categories::Model::Category[:name => 'Spec category'].should === nil
74
- end
60
+ category.destroy
61
+ category_group.destroy
75
62
  end