typus 0.9.39 → 1.0.0.pre

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 (424) hide show
  1. data/CHANGELOG +104 -0
  2. data/Gemfile +17 -0
  3. data/Gemfile.lock +96 -0
  4. data/MIT-LICENSE +1 -1
  5. data/README.rdoc +45 -0
  6. data/Rakefile +19 -48
  7. data/app/controllers/admin/account_controller.rb +54 -0
  8. data/app/controllers/admin/dashboard_controller.rb +7 -0
  9. data/app/controllers/admin/resource_controller.rb +8 -0
  10. data/app/controllers/admin/resources_controller.rb +307 -0
  11. data/app/controllers/admin/session_controller.rb +38 -0
  12. data/app/controllers/admin_controller.rb +26 -0
  13. data/app/helpers/admin/dashboard_helper.rb +38 -0
  14. data/app/helpers/admin/filters_helper.rb +81 -0
  15. data/app/helpers/admin/form_helper.rb +68 -261
  16. data/app/helpers/admin/preview_helper.rb +48 -0
  17. data/app/helpers/admin/relationships_helper.rb +192 -0
  18. data/app/helpers/admin/resources_helper.rb +80 -0
  19. data/app/helpers/admin/search_helper.rb +19 -0
  20. data/app/helpers/admin/sidebar_helper.rb +32 -210
  21. data/app/helpers/admin/table_helper.rb +207 -200
  22. data/app/helpers/admin_helper.rb +56 -0
  23. data/app/mailers/admin/mailer.rb +13 -0
  24. data/app/models/admin/fake_user.rb +38 -0
  25. data/app/views/admin/account/forgot_password.html.erb +21 -0
  26. data/app/views/admin/account/new.html.erb +21 -0
  27. data/app/views/admin/dashboard/_sidebar.html.erb +3 -3
  28. data/app/views/admin/dashboard/show.html.erb +16 -0
  29. data/app/views/admin/dashboard/styles.html.erb +154 -0
  30. data/app/views/admin/helpers/_apps.html.erb +6 -0
  31. data/app/views/admin/helpers/_flash_message.html.erb +3 -0
  32. data/app/views/admin/helpers/_header.html.erb +7 -0
  33. data/app/views/admin/helpers/_login_info.html.erb +4 -0
  34. data/app/views/admin/helpers/_preview.html.erb +13 -0
  35. data/app/views/admin/helpers/dashboard/_applications.html.erb +32 -0
  36. data/app/views/admin/helpers/dashboard/_resources.html.erb +16 -0
  37. data/app/views/admin/helpers/filters/_filters.html.erb +31 -0
  38. data/app/views/admin/helpers/resources/_display_link_to_previous.html.erb +3 -0
  39. data/app/views/admin/helpers/resources/_pagination.html.erb +28 -0
  40. data/app/views/admin/helpers/search/_search.html.erb +12 -0
  41. data/app/views/admin/helpers/sidebar/_sidebar.html.erb +17 -0
  42. data/app/views/admin/helpers/table/_table.html.erb +22 -0
  43. data/app/views/{typus_mailer/reset_password_link.erb → admin/mailer/reset_password_link.text.erb} +2 -2
  44. data/{test/config/broken/empty.yml → app/views/admin/resources/_edit.html.erb} +0 -0
  45. data/app/views/admin/resources/_form.html.erb +26 -0
  46. data/{test/config/broken/empty_roles.yml → app/views/admin/resources/_index.html.erb} +0 -0
  47. data/{test/config/empty/empty_01.yml → app/views/admin/resources/_new.html.erb} +0 -0
  48. data/{test/config/empty/empty_01_roles.yml → app/views/admin/resources/_show.html.erb} +0 -0
  49. data/app/views/admin/resources/edit.html.erb +23 -21
  50. data/app/views/admin/resources/index.html.erb +31 -18
  51. data/app/views/admin/resources/new.html.erb +20 -18
  52. data/app/views/admin/resources/show.html.erb +29 -20
  53. data/app/views/admin/session/new.html.erb +26 -0
  54. data/app/views/admin/templates/_belongs_to.html.erb +4 -0
  55. data/app/views/admin/templates/_boolean.html.erb +4 -8
  56. data/app/views/admin/templates/_date.html.erb +9 -2
  57. data/app/views/admin/templates/_datetime.html.erb +9 -2
  58. data/app/views/admin/templates/_file.html.erb +20 -5
  59. data/app/views/admin/templates/_has_many.html.erb +24 -0
  60. data/app/views/admin/templates/_has_n.html.erb +17 -0
  61. data/{test/config/empty/empty_02.yml → app/views/admin/templates/_has_one.html.erb} +0 -0
  62. data/app/views/admin/templates/_password.html.erb +4 -2
  63. data/app/views/admin/templates/_relate_form.html.erb +4 -0
  64. data/app/views/admin/templates/_selector.html.erb +6 -18
  65. data/app/views/admin/templates/_string.html.erb +11 -10
  66. data/app/views/admin/templates/_text.html.erb +9 -2
  67. data/app/views/admin/templates/_time.html.erb +9 -2
  68. data/app/views/admin/templates/_tree.html.erb +4 -0
  69. data/app/views/layouts/admin/session.html.erb +44 -0
  70. data/app/views/layouts/admin.html.erb +45 -39
  71. data/config/available_locales/ca.yml +124 -0
  72. data/config/available_locales/ca_models.yml +16 -0
  73. data/config/{locales → available_locales}/de.yml +108 -89
  74. data/config/available_locales/de_models.yml +13 -0
  75. data/config/available_locales/es.yml +124 -0
  76. data/config/available_locales/es_models.yml +13 -0
  77. data/config/available_locales/fr.yml +124 -0
  78. data/config/available_locales/fr_models.yml +13 -0
  79. data/config/available_locales/hu.yml +124 -0
  80. data/config/available_locales/hu_models.yml +13 -0
  81. data/config/available_locales/it.yml +136 -0
  82. data/config/available_locales/it_models.yml +15 -0
  83. data/config/available_locales/language.yml.template +122 -0
  84. data/config/available_locales/language_models.yml.template +13 -0
  85. data/config/{locales → available_locales}/pt-BR.yml +97 -74
  86. data/config/available_locales/pt-BR_models.yml +13 -0
  87. data/config/{locales → available_locales}/ru.yml +107 -85
  88. data/config/available_locales/ru_models.yml +13 -0
  89. data/config/routes.rb +18 -11
  90. data/lib/generators/templates/config/initializers/typus.rb +26 -0
  91. data/lib/generators/templates/config/initializers/typus_authentication.rb +18 -0
  92. data/lib/generators/templates/config/initializers/typus_resources.rb +30 -0
  93. data/{generators/typus → lib/generators}/templates/config/typus/README +34 -16
  94. data/lib/generators/templates/config/typus/application.yml +5 -0
  95. data/lib/generators/templates/config/typus/application_roles.yml +6 -0
  96. data/lib/generators/templates/config/typus/typus.yml +17 -0
  97. data/lib/generators/templates/config/typus/typus_roles.yml +6 -0
  98. data/lib/generators/templates/controller.rb +4 -0
  99. data/lib/generators/templates/functional_test.rb +21 -0
  100. data/{generators/typus/templates/db/create_typus_users.rb → lib/generators/templates/migration.rb} +4 -4
  101. data/lib/generators/templates/model.rb +8 -0
  102. data/lib/generators/templates/model.yml +10 -0
  103. data/{generators/typus/templates/public/images/admin → lib/generators/templates/public/admin/images}/ui-icons.png +0 -0
  104. data/lib/generators/templates/public/admin/javascripts/application.js +6 -0
  105. data/lib/generators/templates/public/admin/javascripts/jquery-1.4.2.min.js +154 -0
  106. data/lib/generators/templates/public/admin/javascripts/jquery.rails.js +126 -0
  107. data/lib/generators/templates/public/admin/javascripts/jquery.searchField.js +91 -0
  108. data/lib/generators/templates/public/admin/stylesheets/application.css +11 -0
  109. data/lib/generators/templates/public/admin/stylesheets/screen.css +356 -0
  110. data/lib/generators/templates/public/admin/vendor/fancybox/blank.gif +0 -0
  111. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_close.png +0 -0
  112. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_loading.png +0 -0
  113. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_nav_left.png +0 -0
  114. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_nav_right.png +0 -0
  115. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_e.png +0 -0
  116. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_n.png +0 -0
  117. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_ne.png +0 -0
  118. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_nw.png +0 -0
  119. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_s.png +0 -0
  120. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_se.png +0 -0
  121. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_sw.png +0 -0
  122. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_w.png +0 -0
  123. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_title_left.png +0 -0
  124. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_title_main.png +0 -0
  125. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_title_over.png +0 -0
  126. data/{generators/typus/templates/public/images/admin → lib/generators/templates/public/admin/vendor}/fancybox/fancy_title_right.png +0 -0
  127. data/lib/generators/templates/public/admin/vendor/fancybox/fancybox-x.png +0 -0
  128. data/lib/generators/templates/public/admin/vendor/fancybox/fancybox-y.png +0 -0
  129. data/lib/generators/templates/public/admin/vendor/fancybox/fancybox.png +0 -0
  130. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.easing-1.3.pack.js +72 -0
  131. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.css +363 -0
  132. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.js +1077 -0
  133. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
  134. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.mousewheel-3.0.2.pack.js +13 -0
  135. data/lib/generators/templates/view.html.erb +9 -0
  136. data/lib/generators/typus/migration_generator.rb +85 -0
  137. data/lib/generators/typus/typus_generator.rb +190 -0
  138. data/lib/generators/typus/views_generator.rb +27 -0
  139. data/lib/support/active_record.rb +60 -0
  140. data/lib/support/array.rb +13 -0
  141. data/lib/{typus → support}/hash.rb +2 -2
  142. data/lib/{typus → support}/object.rb +2 -2
  143. data/lib/support/string.rb +47 -0
  144. data/lib/tasks/typus.rake +19 -0
  145. data/lib/typus/authentication.rb +146 -40
  146. data/lib/typus/configuration.rb +14 -49
  147. data/lib/typus/engine.rb +6 -0
  148. data/lib/typus/format.rb +41 -18
  149. data/lib/typus/orm/active_record.rb +378 -0
  150. data/lib/typus/resources.rb +57 -0
  151. data/lib/typus/user.rb +54 -37
  152. data/lib/typus/version.rb +3 -0
  153. data/lib/typus.rb +118 -80
  154. data/lib/vendor/paginator.rb +2 -2
  155. data/test/factories/assets.rb +5 -0
  156. data/test/factories/categories.rb +3 -0
  157. data/test/factories/comments.rb +6 -0
  158. data/test/factories/pages.rb +5 -0
  159. data/test/factories/pictures.rb +7 -0
  160. data/test/factories/posts.rb +6 -0
  161. data/test/factories/typus_users.rb +8 -0
  162. data/test/{config → fixtures/config}/broken/application.yml +0 -0
  163. data/test/{config → fixtures/config}/broken/application_roles.yml +0 -0
  164. data/test/{config/empty/empty_02_roles.yml → fixtures/config/broken/empty.yml} +0 -0
  165. data/test/fixtures/config/broken/empty_roles.yml +0 -0
  166. data/test/{config → fixtures/config}/broken/undefined.yml +0 -0
  167. data/test/{config → fixtures/config}/broken/undefined_roles.yml +0 -0
  168. data/test/{config → fixtures/config}/default/typus.yml +2 -1
  169. data/{generators/typus/templates/config/typus → test/fixtures/config/default}/typus_roles.yml +0 -0
  170. data/test/fixtures/config/empty/empty_01.yml +0 -0
  171. data/test/fixtures/config/empty/empty_01_roles.yml +0 -0
  172. data/test/fixtures/config/empty/empty_02.yml +0 -0
  173. data/test/fixtures/config/empty/empty_02_roles.yml +0 -0
  174. data/test/{config → fixtures/config}/locales/es.yml +0 -0
  175. data/test/fixtures/config/namespaced/application.yml +5 -0
  176. data/test/fixtures/config/namespaced/application_roles.yml +2 -0
  177. data/test/{config → fixtures/config}/ordered/001_roles.yml +0 -0
  178. data/test/{config → fixtures/config}/ordered/002_roles.yml +0 -0
  179. data/test/{config → fixtures/config}/unordered/app_one_roles.yml +0 -0
  180. data/test/{config → fixtures/config}/unordered/app_two_roles.yml +0 -0
  181. data/test/fixtures/config/working/application.yml +73 -0
  182. data/test/fixtures/config/working/application_roles.yml +24 -0
  183. data/{generators/typus/templates/config/typus → test/fixtures/config/working}/typus.yml +2 -1
  184. data/test/{config/default → fixtures/config/working}/typus_roles.yml +0 -0
  185. data/test/fixtures/rails_app/README +244 -0
  186. data/test/fixtures/rails_app/Rakefile +7 -0
  187. data/test/fixtures/rails_app/app/controllers/admin/assets_controller.rb +2 -0
  188. data/test/fixtures/rails_app/app/controllers/admin/categories_controller.rb +2 -0
  189. data/test/fixtures/rails_app/app/controllers/admin/comments_controller.rb +2 -0
  190. data/test/fixtures/rails_app/app/controllers/admin/pages_controller.rb +2 -0
  191. data/test/fixtures/rails_app/app/controllers/admin/pictures_controller.rb +2 -0
  192. data/test/fixtures/rails_app/app/controllers/admin/posts_controller.rb +2 -0
  193. data/test/fixtures/rails_app/app/controllers/admin/status_controller.rb +2 -0
  194. data/test/fixtures/rails_app/app/controllers/admin/typus_users_controller.rb +2 -0
  195. data/test/fixtures/rails_app/app/controllers/admin/watch_dog_controller.rb +2 -0
  196. data/test/fixtures/rails_app/app/controllers/application_controller.rb +4 -0
  197. data/test/fixtures/rails_app/app/helpers/application_helper.rb +2 -0
  198. data/test/fixtures/{app → rails_app/app}/models/asset.rb +1 -1
  199. data/test/fixtures/{app → rails_app/app}/models/category.rb +2 -2
  200. data/test/fixtures/{app → rails_app/app}/models/comment.rb +1 -1
  201. data/test/fixtures/{app → rails_app/app}/models/custom_user.rb +1 -1
  202. data/test/fixtures/{app → rails_app/app}/models/delayed/task.rb +2 -2
  203. data/test/fixtures/rails_app/app/models/page.rb +9 -0
  204. data/test/fixtures/rails_app/app/models/picture.rb +6 -0
  205. data/test/fixtures/{app → rails_app/app}/models/post.rb +6 -6
  206. data/test/fixtures/rails_app/app/models/typus_user.rb +8 -0
  207. data/test/fixtures/{app → rails_app/app}/models/view.rb +1 -1
  208. data/test/fixtures/rails_app/app/views/admin/categories/_form.html.erb +1 -0
  209. data/test/fixtures/rails_app/app/views/admin/dashboard/_sidebar.html.erb +1 -0
  210. data/test/fixtures/rails_app/app/views/admin/mailer/reset_password_link.text.erb +6 -0
  211. data/test/fixtures/rails_app/app/views/admin/posts/_edit.html.erb +1 -0
  212. data/test/fixtures/rails_app/app/views/admin/posts/_index.html.erb +1 -0
  213. data/test/fixtures/rails_app/app/views/admin/posts/_new.html.erb +1 -0
  214. data/test/fixtures/rails_app/app/views/admin/posts/_show.html.erb +1 -0
  215. data/test/fixtures/rails_app/app/views/admin/posts/_sidebar.html.erb +1 -0
  216. data/test/fixtures/rails_app/app/views/admin/resources/_sidebar.html.erb +1 -0
  217. data/test/fixtures/rails_app/app/views/admin/status/index.html.erb +1 -0
  218. data/test/fixtures/rails_app/app/views/admin/templates/_datepicker.html.erb +1 -0
  219. data/test/fixtures/rails_app/app/views/layouts/application.html.erb +14 -0
  220. data/test/fixtures/rails_app/config/application.rb +50 -0
  221. data/test/fixtures/rails_app/config/boot.rb +13 -0
  222. data/test/fixtures/rails_app/config/database.yml +22 -0
  223. data/test/fixtures/rails_app/config/environment.rb +5 -0
  224. data/test/fixtures/rails_app/config/environments/development.rb +19 -0
  225. data/test/fixtures/rails_app/config/environments/production.rb +42 -0
  226. data/test/fixtures/rails_app/config/environments/test.rb +34 -0
  227. data/test/fixtures/rails_app/config/initializers/acts_as_list.rb +258 -0
  228. data/test/fixtures/rails_app/config/initializers/acts_as_tree.rb +98 -0
  229. data/test/fixtures/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  230. data/test/fixtures/rails_app/config/initializers/inflections.rb +10 -0
  231. data/test/fixtures/rails_app/config/initializers/mime_types.rb +5 -0
  232. data/test/fixtures/rails_app/config/initializers/secret_token.rb +7 -0
  233. data/test/fixtures/rails_app/config/initializers/session_store.rb +8 -0
  234. data/test/fixtures/rails_app/config/initializers/typus.rb +6 -0
  235. data/test/fixtures/rails_app/config/locales/en.yml +5 -0
  236. data/test/fixtures/rails_app/config/routes.rb +8 -0
  237. data/test/{config/working → fixtures/rails_app/config/typus}/application.yml +11 -9
  238. data/test/{config/working → fixtures/rails_app/config/typus}/application_roles.yml +0 -0
  239. data/{generators/typus_update_schema_to_01/templates/config → test/fixtures/rails_app/config/typus}/typus.yml +0 -0
  240. data/test/{config/working → fixtures/rails_app/config/typus}/typus_roles.yml +0 -0
  241. data/test/fixtures/rails_app/config.ru +4 -0
  242. data/test/fixtures/rails_app/db/seeds.rb +7 -0
  243. data/test/fixtures/rails_app/db/test.sqlite3 +0 -0
  244. data/test/fixtures/rails_app/log/test.log +4268 -0
  245. data/test/fixtures/rails_app/public/404.html +26 -0
  246. data/test/fixtures/rails_app/public/422.html +26 -0
  247. data/test/fixtures/rails_app/public/500.html +26 -0
  248. data/test/fixtures/rails_app/public/favicon.ico +0 -0
  249. data/test/fixtures/rails_app/public/images/rails.png +0 -0
  250. data/test/fixtures/rails_app/public/index.html +279 -0
  251. data/test/fixtures/rails_app/public/javascripts/application.js +2 -0
  252. data/test/fixtures/rails_app/public/javascripts/controls.js +965 -0
  253. data/test/fixtures/rails_app/public/javascripts/dragdrop.js +974 -0
  254. data/test/fixtures/rails_app/public/javascripts/effects.js +1123 -0
  255. data/test/fixtures/rails_app/public/javascripts/prototype.js +4874 -0
  256. data/test/fixtures/rails_app/public/javascripts/rails.js +118 -0
  257. data/test/fixtures/rails_app/public/robots.txt +5 -0
  258. data/test/fixtures/rails_app/script/rails +9 -0
  259. data/test/fixtures/rails_app/tmp/export-posts-20100902120447.csv +2 -0
  260. data/test/fixtures/rails_app/tmp/export-posts-20100902120700.csv +2 -0
  261. data/test/functional/admin/account_controller_test.rb +90 -0
  262. data/test/functional/admin/dashboard_controller_http_basic_test.rb +24 -0
  263. data/test/functional/admin/dashboard_controller_none_test.rb +18 -0
  264. data/test/functional/admin/dashboard_controller_test.rb +106 -0
  265. data/test/functional/admin/resources_controller_assets_relationships.rb +59 -0
  266. data/test/functional/admin/resources_controller_categories_before_test.rb +10 -0
  267. data/test/functional/admin/resources_controller_categories_lists_test.rb +44 -0
  268. data/test/functional/admin/resources_controller_categories_views_test.rb +10 -0
  269. data/test/functional/admin/resources_controller_comments_toggle_test.rb +21 -0
  270. data/test/functional/admin/{master_controller_posts_before_test.rb → resources_controller_posts_before_test.rb} +3 -3
  271. data/test/functional/admin/resources_controller_posts_crud_custom_test.rb +27 -0
  272. data/test/functional/admin/resources_controller_posts_crud_test.rb +44 -0
  273. data/test/functional/admin/resources_controller_posts_formats_test.rb +39 -0
  274. data/test/functional/admin/resources_controller_posts_forms_test.rb +58 -0
  275. data/test/functional/admin/resources_controller_posts_permissions_test.rb +100 -0
  276. data/test/functional/admin/{master_controller_posts_relationships_test.rb → resources_controller_posts_relationships_test.rb} +25 -20
  277. data/test/functional/admin/resources_controller_posts_roles.rb +52 -0
  278. data/test/functional/admin/resources_controller_posts_views_test.rb +143 -0
  279. data/test/functional/admin/resources_controller_tableless_resource_test.rb +51 -0
  280. data/test/functional/admin/resources_controller_typus_users_test.rb +159 -0
  281. data/test/functional/admin/session_controller_test.rb +85 -0
  282. data/test/helpers/admin/dashboard_helper_test.rb +42 -0
  283. data/test/helpers/admin/form_helper_test.rb +52 -276
  284. data/test/helpers/admin/resources_helper_test.rb +52 -0
  285. data/test/helpers/admin/sidebar_helper_test.rb +133 -224
  286. data/test/helpers/admin/table_helper_test.rb +136 -144
  287. data/test/helpers/admin_helper_test.rb +69 -0
  288. data/test/lib/support/active_record_test.rb +35 -0
  289. data/test/lib/support/array_test.rb +15 -0
  290. data/test/lib/support/hash_test.rb +11 -0
  291. data/test/lib/support/string_test.rb +48 -0
  292. data/test/lib/typus/active_record_test.rb +385 -0
  293. data/test/lib/typus/configuration_test.rb +52 -0
  294. data/test/lib/typus/resource_test.rb +17 -0
  295. data/test/lib/typus/routes_test.rb +29 -0
  296. data/test/lib/typus_test.rb +72 -40
  297. data/test/{vendor → lib/vendor}/paginator_test.rb +7 -4
  298. data/test/schema.rb +28 -3
  299. data/test/test_helper.rb +29 -0
  300. data/test/unit/admin/mailer_test.rb +32 -0
  301. data/test/unit/typus_user_roles_test.rb +69 -61
  302. data/test/unit/typus_user_test.rb +56 -143
  303. data/typus.gemspec +18 -276
  304. metadata +305 -231
  305. data/.gitignore +0 -1
  306. data/AUTHORS.md +0 -34
  307. data/CHANGES +0 -3
  308. data/README.md +0 -75
  309. data/VERSION +0 -1
  310. data/app/controllers/admin/master_controller.rb +0 -394
  311. data/app/controllers/typus_controller.rb +0 -152
  312. data/app/helpers/admin/master_helper.rb +0 -104
  313. data/app/helpers/admin/public_helper.rb +0 -27
  314. data/app/helpers/typus_helper.rb +0 -181
  315. data/app/models/typus_mailer.rb +0 -14
  316. data/app/models/typus_user.rb +0 -5
  317. data/app/views/admin/shared/_feedback.html.erb +0 -6
  318. data/app/views/admin/shared/_footer.html.erb +0 -2
  319. data/app/views/admin/shared/_pagination.html.erb +0 -28
  320. data/app/views/admin/templates/_tiny_mce.html.erb +0 -2
  321. data/app/views/layouts/typus.html.erb +0 -29
  322. data/app/views/typus/dashboard.html.erb +0 -9
  323. data/app/views/typus/recover_password.html.erb +0 -7
  324. data/app/views/typus/reset_password.html.erb +0 -15
  325. data/app/views/typus/sign_in.html.erb +0 -9
  326. data/app/views/typus/sign_up.html.erb +0 -7
  327. data/config/locales/es.yml +0 -105
  328. data/config/locales/fr.yml +0 -98
  329. data/config/locales/language.yml.template +0 -106
  330. data/generators/typus/templates/auto/index.html.erb +0 -11
  331. data/generators/typus/templates/auto/resource_controller.rb.erb +0 -15
  332. data/generators/typus/templates/auto/resource_controller_test.rb.erb +0 -11
  333. data/generators/typus/templates/auto/resources_controller.rb.erb +0 -37
  334. data/generators/typus/templates/config/initializers/typus.rb +0 -34
  335. data/generators/typus/templates/config/typus/application.yml +0 -6
  336. data/generators/typus/templates/config/typus/application_roles.yml +0 -23
  337. data/generators/typus/templates/lib/tasks/typus_tasks.rake +0 -32
  338. data/generators/typus/templates/public/images/admin/fancybox/fancy_closebox.png +0 -0
  339. data/generators/typus/templates/public/images/admin/fancybox/fancy_left.png +0 -0
  340. data/generators/typus/templates/public/images/admin/fancybox/fancy_progress.png +0 -0
  341. data/generators/typus/templates/public/images/admin/fancybox/fancy_right.png +0 -0
  342. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_e.png +0 -0
  343. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_n.png +0 -0
  344. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_ne.png +0 -0
  345. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_nw.png +0 -0
  346. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_s.png +0 -0
  347. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_se.png +0 -0
  348. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_sw.png +0 -0
  349. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_w.png +0 -0
  350. data/generators/typus/templates/public/images/admin/fancybox/fancy_title_left.png +0 -0
  351. data/generators/typus/templates/public/images/admin/fancybox/fancy_title_main.png +0 -0
  352. data/generators/typus/templates/public/javascripts/admin/application.js +0 -14
  353. data/generators/typus/templates/public/javascripts/admin/jquery-1.3.2.min.js +0 -19
  354. data/generators/typus/templates/public/javascripts/admin/jquery.fancybox-1.2.1.min.js +0 -9
  355. data/generators/typus/templates/public/stylesheets/admin/jquery.fancybox.css +0 -315
  356. data/generators/typus/templates/public/stylesheets/admin/reset.css +0 -68
  357. data/generators/typus/templates/public/stylesheets/admin/screen.css +0 -361
  358. data/generators/typus/typus_generator.rb +0 -191
  359. data/generators/typus_update_schema_to_01/templates/migration.rb +0 -11
  360. data/generators/typus_update_schema_to_01/typus_update_schema_to_01_generator.rb +0 -19
  361. data/generators/typus_update_schema_to_02/templates/migration.rb +0 -11
  362. data/generators/typus_update_schema_to_02/typus_update_schema_to_02_generator.rb +0 -11
  363. data/lib/typus/active_record.rb +0 -323
  364. data/lib/typus/extensions/routes.rb +0 -15
  365. data/lib/typus/extensions/routes_hack.rb +0 -15
  366. data/lib/typus/preferences.rb +0 -11
  367. data/lib/typus/preview.rb +0 -76
  368. data/lib/typus/quick_edit.rb +0 -40
  369. data/lib/typus/reloader.rb +0 -14
  370. data/lib/typus/string.rb +0 -27
  371. data/lib/vendor/active_record.rb +0 -15
  372. data/lib/vendor/rss_parser.rb +0 -20
  373. data/rails/init.rb +0 -3
  374. data/tasks/typus_tasks.rake +0 -32
  375. data/test/config/working/typus.yml +0 -12
  376. data/test/fixtures/app/controllers/admin/assets_controller.rb +0 -2
  377. data/test/fixtures/app/controllers/admin/categories_controller.rb +0 -2
  378. data/test/fixtures/app/controllers/admin/comments_controller.rb +0 -2
  379. data/test/fixtures/app/controllers/admin/pages_controller.rb +0 -2
  380. data/test/fixtures/app/controllers/admin/posts_controller.rb +0 -2
  381. data/test/fixtures/app/controllers/admin/status_controller.rb +0 -6
  382. data/test/fixtures/app/controllers/admin/typus_users_controller.rb +0 -2
  383. data/test/fixtures/app/controllers/admin/watch_dog_controller.rb +0 -6
  384. data/test/fixtures/app/models/page.rb +0 -5
  385. data/test/fixtures/app/views/admin/dashboard/_content.html.erb +0 -1
  386. data/test/fixtures/app/views/admin/dashboard/_sidebar.html.erb +0 -1
  387. data/test/fixtures/app/views/admin/posts/_edit.html.erb +0 -1
  388. data/test/fixtures/app/views/admin/posts/_index.html.erb +0 -1
  389. data/test/fixtures/app/views/admin/posts/_new.html.erb +0 -1
  390. data/test/fixtures/app/views/admin/posts/_show.html.erb +0 -1
  391. data/test/fixtures/app/views/admin/posts/_sidebar.html.erb +0 -1
  392. data/test/fixtures/app/views/admin/resources/_sidebar.html.erb +0 -1
  393. data/test/fixtures/app/views/admin/shared/_footer.html.erb +0 -1
  394. data/test/fixtures/app/views/admin/status/index.html.erb +0 -1
  395. data/test/fixtures/app/views/admin/templates/_datepicker.html.erb +0 -1
  396. data/test/fixtures/assets.yml +0 -11
  397. data/test/fixtures/categories.yml +0 -14
  398. data/test/fixtures/comments.yml +0 -27
  399. data/test/fixtures/pages.yml +0 -41
  400. data/test/fixtures/posts.yml +0 -37
  401. data/test/fixtures/typus_users.yml +0 -59
  402. data/test/functional/admin/master_controller_assets_relationships.rb +0 -66
  403. data/test/functional/admin/master_controller_categories_lists_test.rb +0 -64
  404. data/test/functional/admin/master_controller_posts_crud_test.rb +0 -97
  405. data/test/functional/admin/master_controller_posts_formats_test.rb +0 -53
  406. data/test/functional/admin/master_controller_posts_permissions_test.rb +0 -127
  407. data/test/functional/admin/master_controller_posts_roles.rb +0 -50
  408. data/test/functional/admin/master_controller_posts_toggle_test.rb +0 -35
  409. data/test/functional/admin/master_controller_posts_views_test.rb +0 -209
  410. data/test/functional/admin/master_controller_tableless_resource_test.rb +0 -36
  411. data/test/functional/admin/master_controller_typus_users_test.rb +0 -211
  412. data/test/functional/typus_controller_test.rb +0 -342
  413. data/test/helper.rb +0 -51
  414. data/test/helpers/admin/master_helper_test.rb +0 -70
  415. data/test/helpers/admin/public_helper_test.rb +0 -26
  416. data/test/helpers/typus_helper_test.rb +0 -96
  417. data/test/lib/active_record_test.rb +0 -377
  418. data/test/lib/configuration_test.rb +0 -95
  419. data/test/lib/hash_test.rb +0 -11
  420. data/test/lib/routes_test.rb +0 -71
  421. data/test/lib/string_test.rb +0 -55
  422. data/test/unit/typus_mailer_test.rb +0 -29
  423. data/test/unit/typus_test.rb +0 -17
  424. data/test/vendor/active_record_test.rb +0 -18
@@ -1,342 +0,0 @@
1
- require 'test/helper'
2
-
3
- class TypusControllerTest < ActionController::TestCase
4
-
5
- def setup
6
- # Typus::Configuration.options[:recover_password] = true
7
- end
8
-
9
- ##
10
- # get :sign_in
11
- ##
12
-
13
- def test_should_sign_in
14
- get :sign_in
15
- assert_response :success
16
- assert_template 'sign_in'
17
- end
18
-
19
- def test_should_sign_in_with_post_and_redirect_to_dashboard
20
- typus_user = typus_users(:admin)
21
- post :sign_in, { :user => { :email => typus_user.email, :password => '12345678' } }
22
- assert_equal typus_user.id, @request.session[:typus_user_id]
23
- assert_response :redirect
24
- assert_redirected_to admin_dashboard_path
25
- end
26
-
27
- def test_should_sign_in_with_post_and_redirect_to_sign_in_with_an_error
28
- post :sign_in, { :user => { :email => 'john@example.com', :password => 'XXXXXXXX' } }
29
- assert_response :redirect
30
- assert_redirected_to admin_sign_in_path
31
- assert_equal "The email and/or password you entered is invalid.", flash[:error]
32
- end
33
-
34
- def test_should_not_sign_in_a_disabled_user
35
- typus_user = typus_users(:disabled_user)
36
- post :sign_in, { :user => { :email => typus_user.email, :password => '12345678' } }
37
- assert_nil @request.session[:typus_user_id]
38
- assert_response :redirect
39
- assert_redirected_to admin_sign_in_path
40
- end
41
-
42
- def test_should_not_sign_in_a_removed_role
43
- typus_user = typus_users(:removed_role)
44
- post :sign_in, { :user => { :email => typus_user.email, :password => '12345678' } }
45
- assert_equal typus_user.id, @request.session[:typus_user_id]
46
- assert_response :redirect
47
- assert_redirected_to admin_dashboard_path
48
- get :dashboard
49
- assert_redirected_to admin_sign_in_path
50
- assert_nil @request.session[:typus_user_id]
51
- assert_equal "Role does no longer exists.", flash[:notice]
52
- end
53
-
54
- def test_should_not_send_recovery_password_link_to_unexisting_user
55
-
56
- options = Typus::Configuration.options.merge(:recover_password => true)
57
- Typus::Configuration.stubs(:options).returns(options)
58
-
59
- post :recover_password, { :user => { :email => 'unexisting' } }
60
- assert_response :redirect
61
- assert_redirected_to admin_recover_password_path
62
- [ :notice, :error, :warning ].each { |f| assert !flash[f] }
63
-
64
- end
65
-
66
- def test_should_send_recovery_password_link_to_existing_user
67
-
68
- options = Typus::Configuration.options.merge(:recover_password => true)
69
- Typus::Configuration.stubs(:options).returns(options)
70
-
71
- admin = typus_users(:admin)
72
- post :recover_password, { :user => { :email => admin.email } }
73
-
74
- assert_response :redirect
75
- assert_redirected_to admin_sign_in_path
76
- assert_equal "Password recovery link sent to your email.", flash[:success]
77
-
78
- end
79
-
80
- def test_should_sign_out
81
- admin = typus_users(:admin)
82
- @request.session[:typus_user_id] = admin.id
83
- get :sign_out
84
- assert_nil @request.session[:typus_user_id]
85
- assert_response :redirect
86
- assert_redirected_to admin_sign_in_path
87
- [ :notice, :error, :warning ].each { |f| assert !flash[f] }
88
- end
89
-
90
- def test_should_verify_block_users_on_the_fly
91
-
92
- admin = typus_users(:admin)
93
- @request.session[:typus_user_id] = admin.id
94
- get :dashboard
95
- assert_response :success
96
-
97
- # Disable user ...
98
-
99
- admin.status = false
100
- admin.save
101
-
102
- get :dashboard
103
- assert_response :redirect
104
- assert_redirected_to admin_sign_in_path
105
-
106
- assert_equal "Typus user has been disabled.", flash[:notice]
107
- assert_nil @request.session[:typus_user_id]
108
-
109
- end
110
-
111
- ##
112
- # reset_password
113
- ##
114
-
115
- def test_should_not_reset_password
116
-
117
- get :reset_password
118
- assert_response :redirect
119
- assert_redirected_to admin_sign_in_path
120
-
121
- end
122
-
123
- def test_should_reset_password_when_recover_password_is_true
124
-
125
- options = Typus::Configuration.options.merge(:recover_password => true)
126
- Typus::Configuration.stubs(:options).returns(options)
127
-
128
- typus_user = typus_users(:admin)
129
- get :reset_password, { :token => typus_user.token }
130
-
131
- assert_response :success
132
- assert_template 'reset_password'
133
-
134
- end
135
-
136
- def test_should_redirect_to_sign_in_user_after_reset_password
137
-
138
- options = Typus::Configuration.options.merge(:recover_password => true)
139
- Typus::Configuration.stubs(:options).returns(options)
140
-
141
- typus_user = typus_users(:admin)
142
- post :reset_password, { :token => typus_user.token, :user => { :password => '12345678', :password_confirmation => '12345678' } }
143
-
144
- assert_response :redirect
145
- assert_redirected_to admin_dashboard_path
146
-
147
- end
148
-
149
- def test_should_be_redirected_if_password_does_not_match_confirmation
150
-
151
- options = Typus::Configuration.options.merge(:recover_password => true)
152
- Typus::Configuration.stubs(:options).returns(options)
153
-
154
- typus_user = typus_users(:admin)
155
- post :reset_password, { :token => typus_user.token, :user => { :password => 'drowssap', :password_confirmation => 'drowssap2' } }
156
- assert_response :success
157
-
158
- end
159
-
160
- def test_should_only_be_allowed_to_reset_password
161
-
162
- options = Typus::Configuration.options.merge(:recover_password => true)
163
- Typus::Configuration.stubs(:options).returns(options)
164
-
165
- typus_user = typus_users(:admin)
166
- post :reset_password, { :token => typus_user.token, :user => { :password => 'drowssap', :password_confirmation => 'drowssap', :role => 'superadmin' } }
167
- typus_user.reload
168
- assert_not_equal typus_user.role, 'superadmin'
169
-
170
- end
171
-
172
- def test_should_return_404_on_reset_passsword_if_token_is_not_valid
173
-
174
- options = Typus::Configuration.options.merge(:recover_password => true)
175
- Typus::Configuration.stubs(:options).returns(options)
176
-
177
- assert_raise(ActiveRecord::RecordNotFound) { get :reset_password, { :token => 'INVALID' } }
178
-
179
- end
180
-
181
- def test_should_reset_password_with_valid_token
182
-
183
- options = Typus::Configuration.options.merge(:recover_password => true)
184
- Typus::Configuration.stubs(:options).returns(options)
185
-
186
- typus_user = typus_users(:admin)
187
- get :reset_password, { :token => typus_user.token }
188
- assert_response :success
189
- assert_template 'reset_password'
190
-
191
- end
192
-
193
- ##
194
- # sign_up
195
- ##
196
-
197
- def test_should_verify_sign_up_works
198
-
199
- TypusUser.destroy_all
200
- assert TypusUser.find(:all).empty?
201
-
202
- get :sign_up
203
-
204
- assert_response :success
205
- assert_template 'sign_up'
206
- assert_match /layouts\/typus/, @controller.active_layout.to_s
207
- assert_equal "Enter your email below to create the first user.", flash[:notice]
208
-
209
- end
210
-
211
- def test_should_should_not_sign_up_invalid_email
212
-
213
- TypusUser.destroy_all
214
-
215
- post :sign_up, :user => { :email => 'example.com' }
216
-
217
- assert_response :success
218
- assert_equal "That doesn't seem like a valid email address.", flash[:error]
219
-
220
- end
221
-
222
- def test_should_sign_up_valid_email
223
-
224
- TypusUser.destroy_all
225
-
226
- assert_difference 'TypusUser.count' do
227
- post :sign_up, :user => { :email => 'john@example.com' }
228
- end
229
-
230
- assert_response :redirect
231
- assert_redirected_to admin_dashboard_path
232
- assert_equal %Q[Password set to "columbia".], flash[:notice]
233
- assert @request.session[:typus_user_id]
234
-
235
- end
236
-
237
- ##
238
- # sign_in
239
- ##
240
-
241
- def test_should_render_sign_in
242
-
243
- options = Typus::Configuration.options.merge(:app_name => 'Typus Test')
244
- Typus::Configuration.stubs(:options).returns(options)
245
-
246
- get :sign_in
247
- assert_response :success
248
-
249
- assert_select 'title', "Typus Test - Sign in"
250
- assert_select 'h1', 'Typus Test'
251
- assert_match /layouts\/typus/, @controller.active_layout.to_s
252
-
253
- end
254
-
255
- def test_should_redirect_to_sign_up_when_no_typus_users
256
- TypusUser.destroy_all
257
- get :sign_in
258
- assert_response :redirect
259
- assert_redirected_to admin_sign_up_path
260
- end
261
-
262
- def test_should_verify_typus_sign_in_layout_does_not_include_recover_password_link
263
- options = Typus::Configuration.options.merge(:recover_password => false)
264
- Typus::Configuration.stubs(:options).returns(options)
265
- get :sign_in
266
- assert !@response.body.include?('Recover password')
267
- end
268
-
269
- def test_should_verify_typus_sign_in_layout_includes_recover_password_link
270
- options = Typus::Configuration.options.merge(:recover_password => true)
271
- Typus::Configuration.stubs(:options).returns(options)
272
- get :sign_in
273
- assert @response.body.include?('Recover password')
274
- end
275
-
276
- ##
277
- # sign_out
278
- ##
279
-
280
- def test_should_verify_sign_out
281
- @request.session[:typus_user_id] = typus_users(:admin).id
282
- get :sign_out
283
- assert_nil @request.session[:typus_user_id]
284
- assert_redirected_to admin_sign_in_path
285
- end
286
-
287
- ##
288
- # get dashboard
289
- ##
290
-
291
- def test_should_redirect_to_sign_in_when_not_signed_in
292
- @request.session[:typus_user_id] = nil
293
- get :dashboard
294
- assert_response :redirect
295
- assert_redirected_to admin_sign_in_path
296
- end
297
-
298
- def test_should_render_dashboard
299
-
300
- @request.session[:typus_user_id] = typus_users(:admin).id
301
- get :dashboard
302
-
303
- assert_response :success
304
- assert_template 'dashboard'
305
- assert_match /layouts\/admin/, @controller.active_layout.to_s
306
- assert_select 'title', "#{Typus::Configuration.options[:app_name]} - Dashboard"
307
-
308
- [ 'Typus',
309
- %Q[href="/admin/sign_out"],
310
- %Q[href="/admin/typus_users/edit/#{@request.session[:typus_user_id]}] ].each do |string|
311
- assert_match string, @response.body
312
- end
313
-
314
- %w( typus_users posts pages assets ).each { |r| assert_match "/admin/#{r}/new", @response.body }
315
- %w( statuses orders ).each { |r| assert_no_match /\/admin\/#{r}\n/, @response.body }
316
-
317
- assert_select 'body div#header' do
318
- assert_select 'a', 'Admin Example'
319
- assert_select 'a', 'Sign out'
320
- end
321
-
322
- partials = %w( _sidebar.html.erb )
323
- partials.each { |p| assert_match p, @response.body }
324
-
325
- end
326
-
327
- def test_should_show_add_links_in_resources_list_for_editor
328
- @request.session[:typus_user_id] = typus_users(:editor).id
329
- get :dashboard
330
- assert_match '/admin/posts/new', @response.body
331
- assert_no_match /\/admin\/typus_users\/new/, @response.body
332
- assert_no_match /\/admin\/categories\/new/, @response.body
333
- end
334
-
335
- def test_should_show_add_links_in_resources_list_for_designer
336
- @request.session[:typus_user_id] = typus_users(:designer).id
337
- get :dashboard
338
- assert_no_match /\/admin\/posts\/new/, @response.body
339
- assert_no_match /\/admin\/typus_users\/new/, @response.body
340
- end
341
-
342
- end
data/test/helper.rb DELETED
@@ -1,51 +0,0 @@
1
-
2
- ENV['RAILS_ENV'] = 'test'
3
- require File.expand_path(File.dirname(__FILE__) + "/../../../../config/environment")
4
- require 'test_help'
5
- require 'mocha'
6
-
7
- begin
8
- require 'redgreen'
9
- rescue LoadError
10
- end
11
-
12
- ##
13
- # Different DB settings and load our schema.
14
- #
15
-
16
- connection = case ENV['DB']
17
- when /mysql/
18
- { :adapter => 'mysql', :username => 'root', :database => 'typus_test' }
19
- when /postgresql/
20
- { :adapter => 'postgresql', :encoding => 'unicode', :database => 'typus_test' }
21
- else
22
- { :adapter => 'sqlite3', :database => ':memory:' }
23
- end
24
-
25
- ActiveRecord::Base.establish_connection(connection)
26
- ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + '/debug.log')
27
-
28
- require File.dirname(__FILE__) + '/schema'
29
-
30
- ##
31
- # To test the plugin without touching the application we set our
32
- # load_paths and view_paths.
33
- #
34
-
35
- ActiveSupport::Dependencies.load_paths = []
36
- %w( models controllers helpers ).each do |folder|
37
- ActiveSupport::Dependencies.load_paths << File.join(Typus.root, 'app', folder)
38
- ActiveSupport::Dependencies.load_paths << File.join(Typus.root, 'test', 'fixtures', 'app', folder)
39
- end
40
-
41
- ActionController::Base.view_paths = []
42
- %w( app/views test/fixtures/app/views ).each do |folder|
43
- ActionController::Base.append_view_path(File.join(Typus.root, folder))
44
- end
45
-
46
- class ActiveSupport::TestCase
47
- self.fixture_path = File.dirname(__FILE__) + '/fixtures'
48
- self.use_transactional_fixtures = true
49
- self.use_instantiated_fixtures = false
50
- fixtures :all
51
- end
@@ -1,70 +0,0 @@
1
- require 'test/helper'
2
-
3
- class Admin::MasterHelperTest < ActiveSupport::TestCase
4
-
5
- include Admin::MasterHelper
6
-
7
- include ActionView::Helpers::UrlHelper
8
- include ActionView::Helpers::TagHelper
9
-
10
- def test_display_link_to_previous
11
-
12
- @resource = { :class => Post, :human_name => 'Post' }
13
- params = { :action => 'edit', :back_to => '/back_to_param' }
14
- self.expects(:params).at_least_once.returns(params)
15
-
16
- output = display_link_to_previous
17
- expected = <<-HTML
18
- <div id="flash" class="notice">
19
- <p>You're updating a Post. <a href="/back_to_param">Do you want to cancel it?</a></p>
20
- </div>
21
- HTML
22
-
23
- assert_equal expected, output
24
-
25
- end
26
-
27
- def test_remove_filter_link
28
- output = remove_filter_link('')
29
- assert output.nil?
30
- end
31
-
32
- def test_build_list_when_returns_a_typus_table
33
-
34
- model = TypusUser
35
- fields = [ 'email', 'role', 'status' ]
36
- items = TypusUser.find(:all)
37
- resource = 'typus_users'
38
-
39
- self.stubs(:build_typus_table).returns('a_list_with_items')
40
-
41
- output = build_list(model, fields, items, resource)
42
- expected = 'a_list_with_items'
43
-
44
- assert_equal expected, output
45
-
46
- end
47
-
48
- def test_build_list_when_returns_a_template
49
-
50
- model = TypusUser
51
- fields = [ 'email', 'role', 'status' ]
52
- items = TypusUser.find(:all)
53
- resource = 'typus_users'
54
-
55
- self.stubs(:render).returns('a_template')
56
- File.stubs(:exist?).returns(true)
57
-
58
- output = build_list(model, fields, items, resource)
59
- expected = 'a_template'
60
-
61
- assert_equal expected, output
62
-
63
- end
64
-
65
- # FIXME
66
- def test_build_pagination
67
- return
68
- end
69
-
70
- end
@@ -1,26 +0,0 @@
1
- require 'test/helper'
2
-
3
- class Admin::PublicHelperTest < ActiveSupport::TestCase
4
-
5
- include Admin::PublicHelper
6
-
7
- def test_quick_edit
8
-
9
- options = { :path => 'articles/edit/1', :message => 'Edit this article' }
10
- output = quick_edit(options)
11
-
12
- html = <<-HTML
13
- <script type="text/javascript">
14
- document.write('<script type="text/javascript" src="quick_edit?message=Edit+this+article&path=articles%2Fedit%2F1" />');
15
- </script>
16
- HTML
17
-
18
- assert_equal html, output
19
-
20
- end
21
-
22
- def admin_quick_edit_path
23
- 'quick_edit'
24
- end
25
-
26
- end
@@ -1,96 +0,0 @@
1
- require 'test/helper'
2
-
3
- class TypusHelperTest < ActiveSupport::TestCase
4
-
5
- include TypusHelper
6
- include ActionView::Helpers::UrlHelper
7
- include ActionView::Helpers::TextHelper
8
- include ActionController::UrlWriter
9
-
10
- # FIXME
11
- def test_applications
12
- return
13
- end
14
-
15
- # FIXME
16
- def test_resources
17
- return
18
- end
19
-
20
- def test_typus_block_when_partial_does_not_exist
21
- output = typus_block(:resource => 'posts', :location => 'sidebar', :partial => 'pum')
22
- assert output.nil?
23
- end
24
-
25
- def test_page_title
26
- params = {}
27
- options = { :app_name => 'whatistypus.com' }
28
- Typus::Configuration.stubs(:options).returns(options)
29
- output = page_title('custom_action')
30
- assert_equal 'whatistypus.com - Custom action', output
31
- end
32
-
33
- def test_header_with_root_path
34
-
35
- # Add root named route
36
- ActionController::Routing::Routes.add_named_route :root, "/", { :controller => "posts" }
37
-
38
- # ActionView::Helpers::UrlHelper does not support strings, which are returned by named routes
39
- # link root_path
40
- self.stubs(:link_to).returns(%(<a href="/">View site</a>))
41
- self.stubs(:link_to_unless_current).returns(%(<a href="/admin/dashboard">Dashboard</a>))
42
-
43
- output = header
44
- expected = <<-HTML
45
- <h1>#{Typus::Configuration.options[:app_name]}</h1>
46
- <ul>
47
- <li><a href="/admin/dashboard">Dashboard</a></li>
48
- <li><a href="/admin/dashboard">Dashboard</a></li>
49
- <li><a href="/">View site</a></li>
50
- </ul>
51
- HTML
52
-
53
- assert_equal expected, output
54
-
55
- end
56
-
57
- def test_header_without_root_path
58
-
59
- # Remove root route from list
60
- ActionController::Routing::Routes.named_routes.routes.reject! {|key, route| key == :root }
61
-
62
- self.stubs(:link_to_unless_current).returns(%(<a href="/admin/dashboard">Dashboard</a>))
63
-
64
- output = header
65
- expected = <<-HTML
66
- <h1>#{Typus::Configuration.options[:app_name]}</h1>
67
- <ul>
68
- <li><a href="/admin/dashboard">Dashboard</a></li>
69
- <li><a href="/admin/dashboard">Dashboard</a></li>
70
- </ul>
71
- HTML
72
-
73
- assert_equal expected, output
74
-
75
- end
76
-
77
- def test_display_flash_message
78
-
79
- message = { :test => 'This is the message.' }
80
-
81
- output = display_flash_message(message)
82
- expected = <<-HTML
83
- <div id="flash" class="test">
84
- <p>This is the message.</p>
85
- </div>
86
- HTML
87
-
88
- assert_equal expected, output
89
-
90
- message = {}
91
- output = display_flash_message(message)
92
- assert output.nil?
93
-
94
- end
95
-
96
- end