enju_leaf 1.1.0.beta3

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 (610) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +24 -0
  4. data/Rakefile +35 -0
  5. data/app/assets/images/border.png +0 -0
  6. data/app/assets/images/controls.png +0 -0
  7. data/app/assets/images/icons/arrow_divide.png +0 -0
  8. data/app/assets/images/icons/arrow_down.png +0 -0
  9. data/app/assets/images/icons/arrow_left.png +0 -0
  10. data/app/assets/images/icons/arrow_up.png +0 -0
  11. data/app/assets/images/icons/basket_add.png +0 -0
  12. data/app/assets/images/icons/book.png +0 -0
  13. data/app/assets/images/icons/book_edit.png +0 -0
  14. data/app/assets/images/icons/bullet_go.png +0 -0
  15. data/app/assets/images/icons/cancel.png +0 -0
  16. data/app/assets/images/icons/cd.png +0 -0
  17. data/app/assets/images/icons/comments.png +0 -0
  18. data/app/assets/images/icons/cross.png +0 -0
  19. data/app/assets/images/icons/date.png +0 -0
  20. data/app/assets/images/icons/delete.png +0 -0
  21. data/app/assets/images/icons/dvd.png +0 -0
  22. data/app/assets/images/icons/email.png +0 -0
  23. data/app/assets/images/icons/feed.png +0 -0
  24. data/app/assets/images/icons/film.png +0 -0
  25. data/app/assets/images/icons/group.png +0 -0
  26. data/app/assets/images/icons/help.png +0 -0
  27. data/app/assets/images/icons/lock.png +0 -0
  28. data/app/assets/images/icons/map.png +0 -0
  29. data/app/assets/images/icons/monitor.png +0 -0
  30. data/app/assets/images/icons/newspaper.png +0 -0
  31. data/app/assets/images/icons/page_edit.png +0 -0
  32. data/app/assets/images/icons/page_go.png +0 -0
  33. data/app/assets/images/icons/page_white_acrobat.png +0 -0
  34. data/app/assets/images/icons/page_white_cd.png +0 -0
  35. data/app/assets/images/icons/page_white_delete.png +0 -0
  36. data/app/assets/images/icons/page_white_dvd.png +0 -0
  37. data/app/assets/images/icons/page_white_edit.png +0 -0
  38. data/app/assets/images/icons/page_white_excel.png +0 -0
  39. data/app/assets/images/icons/page_white_flash.png +0 -0
  40. data/app/assets/images/icons/page_white_go.png +0 -0
  41. data/app/assets/images/icons/page_white_picture.png +0 -0
  42. data/app/assets/images/icons/page_white_powerpoint.png +0 -0
  43. data/app/assets/images/icons/page_white_text.png +0 -0
  44. data/app/assets/images/icons/page_white_word.png +0 -0
  45. data/app/assets/images/icons/page_white_zip.png +0 -0
  46. data/app/assets/images/icons/picture.png +0 -0
  47. data/app/assets/images/icons/picture_link.png +0 -0
  48. data/app/assets/images/icons/sound.png +0 -0
  49. data/app/assets/images/icons/star.png +0 -0
  50. data/app/assets/images/icons/stop.png +0 -0
  51. data/app/assets/images/icons/tag_blue_edit.png +0 -0
  52. data/app/assets/images/icons/user.png +0 -0
  53. data/app/assets/images/icons/world.png +0 -0
  54. data/app/assets/images/icons/world_go.png +0 -0
  55. data/app/assets/images/ie6/borderBottomCenter.png +0 -0
  56. data/app/assets/images/ie6/borderBottomLeft.png +0 -0
  57. data/app/assets/images/ie6/borderBottomRight.png +0 -0
  58. data/app/assets/images/ie6/borderMiddleLeft.png +0 -0
  59. data/app/assets/images/ie6/borderMiddleRight.png +0 -0
  60. data/app/assets/images/ie6/borderTopCenter.png +0 -0
  61. data/app/assets/images/ie6/borderTopLeft.png +0 -0
  62. data/app/assets/images/ie6/borderTopRight.png +0 -0
  63. data/app/assets/images/loading.gif +0 -0
  64. data/app/assets/images/loading_background.png +0 -0
  65. data/app/assets/images/overlay.png +0 -0
  66. data/app/assets/images/rails.png +0 -0
  67. data/app/assets/images/spinner.gif +0 -0
  68. data/app/assets/images/unknown_resource.png +0 -0
  69. data/app/assets/javascripts/enju_leaf.js +16 -0
  70. data/app/assets/javascripts/menu.enju.js +10 -0
  71. data/app/assets/javascripts/mobile.js +3 -0
  72. data/app/assets/javascripts/portlets.js +63 -0
  73. data/app/assets/javascripts/select_locale.js +9 -0
  74. data/app/assets/javascripts/tab_view.js +4 -0
  75. data/app/assets/stylesheets/enju.css +536 -0
  76. data/app/assets/stylesheets/enju_leaf.css +14 -0
  77. data/app/assets/stylesheets/enju_mobile.css +3 -0
  78. data/app/assets/stylesheets/enju_print.css +9 -0
  79. data/app/assets/stylesheets/images/ajax-loader.gif +0 -0
  80. data/app/assets/stylesheets/images/border.png +0 -0
  81. data/app/assets/stylesheets/images/controls.png +0 -0
  82. data/app/assets/stylesheets/images/icons-18-black.png +0 -0
  83. data/app/assets/stylesheets/images/icons-18-white.png +0 -0
  84. data/app/assets/stylesheets/images/icons-36-black.png +0 -0
  85. data/app/assets/stylesheets/images/icons-36-white.png +0 -0
  86. data/app/assets/stylesheets/images/ie6/borderBottomCenter.png +0 -0
  87. data/app/assets/stylesheets/images/ie6/borderBottomLeft.png +0 -0
  88. data/app/assets/stylesheets/images/ie6/borderBottomRight.png +0 -0
  89. data/app/assets/stylesheets/images/ie6/borderMiddleLeft.png +0 -0
  90. data/app/assets/stylesheets/images/ie6/borderMiddleRight.png +0 -0
  91. data/app/assets/stylesheets/images/ie6/borderTopCenter.png +0 -0
  92. data/app/assets/stylesheets/images/ie6/borderTopLeft.png +0 -0
  93. data/app/assets/stylesheets/images/ie6/borderTopRight.png +0 -0
  94. data/app/assets/stylesheets/images/loading.gif +0 -0
  95. data/app/assets/stylesheets/images/loading_background.png +0 -0
  96. data/app/assets/stylesheets/images/overlay.png +0 -0
  97. data/app/assets/stylesheets/images/spinner_bar.gif +0 -0
  98. data/app/assets/stylesheets/mobile.css +8 -0
  99. data/app/assets/stylesheets/pagination.css +92 -0
  100. data/app/assets/stylesheets/portlets.css +7 -0
  101. data/app/assets/stylesheets/print.css +7 -0
  102. data/app/assets/stylesheets/scaffold.css +56 -0
  103. data/app/assets/stylesheets/scaffold_modified.css +60 -0
  104. data/app/assets/stylesheets/scaffolds.css.scss +56 -0
  105. data/app/controllers/my_accounts_controller.rb +74 -0
  106. data/app/controllers/page_controller.rb +81 -0
  107. data/app/controllers/roles_controller.rb +44 -0
  108. data/app/controllers/user_groups_controller.rb +84 -0
  109. data/app/controllers/users_controller.rb +195 -0
  110. data/app/helpers/page_helper.rb +2 -0
  111. data/app/mailers/notifier.rb +40 -0
  112. data/app/models/enju_leaf/ability.rb +63 -0
  113. data/app/models/local_patron.rb +27 -0
  114. data/app/models/role.rb +46 -0
  115. data/app/models/setting.rb +4 -0
  116. data/app/models/user_group.rb +39 -0
  117. data/app/models/user_has_role.rb +21 -0
  118. data/app/models/user_sweeper.rb +18 -0
  119. data/app/views/devise/confirmations/new.html.erb +12 -0
  120. data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
  121. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  122. data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
  123. data/app/views/devise/passwords/edit.html.erb +24 -0
  124. data/app/views/devise/passwords/new.html.erb +20 -0
  125. data/app/views/devise/registrations/edit.html.erb +33 -0
  126. data/app/views/devise/registrations/new.html.erb +18 -0
  127. data/app/views/devise/sessions/new.html.erb +37 -0
  128. data/app/views/devise/sessions/new.mobile.erb +29 -0
  129. data/app/views/devise/shared/_links.erb +19 -0
  130. data/app/views/devise/unlocks/new.html.erb +12 -0
  131. data/app/views/kaminari/_first_page.html.erb +9 -0
  132. data/app/views/kaminari/_first_page.mobile.erb +12 -0
  133. data/app/views/kaminari/_gap.html.erb +8 -0
  134. data/app/views/kaminari/_gap.mobile.erb +10 -0
  135. data/app/views/kaminari/_last_page.html.erb +9 -0
  136. data/app/views/kaminari/_last_page.mobile.erb +13 -0
  137. data/app/views/kaminari/_next_page.html.erb +9 -0
  138. data/app/views/kaminari/_next_page.mobile.erb +13 -0
  139. data/app/views/kaminari/_page.html.erb +12 -0
  140. data/app/views/kaminari/_page.mobile.erb +12 -0
  141. data/app/views/kaminari/_paginator.html.erb +25 -0
  142. data/app/views/kaminari/_paginator.mobile.erb +25 -0
  143. data/app/views/kaminari/_prev_page.html.erb +9 -0
  144. data/app/views/kaminari/_prev_page.mobile.erb +13 -0
  145. data/app/views/layouts/application.html.erb +34 -0
  146. data/app/views/layouts/application.mobile.erb +18 -0
  147. data/app/views/layouts/devise/passwords.html.erb +21 -0
  148. data/app/views/layouts/devise/passwords.mobile.erb +18 -0
  149. data/app/views/layouts/devise/sessions.html.erb +21 -0
  150. data/app/views/layouts/devise/sessions.mobile.erb +18 -0
  151. data/app/views/layouts/patrons.html.erb +26 -0
  152. data/app/views/layouts/patrons.mobile.erb +18 -0
  153. data/app/views/my_accounts/_edit_credential.html.erb +87 -0
  154. data/app/views/my_accounts/_form.html.erb +24 -0
  155. data/app/views/my_accounts/_show.html.erb +1 -0
  156. data/app/views/my_accounts/edit.html.erb +73 -0
  157. data/app/views/my_accounts/show.html.erb +72 -0
  158. data/app/views/my_accounts/show.mobile.erb +1 -0
  159. data/app/views/notifier/manifestation_info.en.text.erb +18 -0
  160. data/app/views/notifier/manifestation_info.ja.text.erb +18 -0
  161. data/app/views/page/403.html.erb +9 -0
  162. data/app/views/page/403.mobile.erb +5 -0
  163. data/app/views/page/403.xml.erb +4 -0
  164. data/app/views/page/404.html.erb +9 -0
  165. data/app/views/page/404.mobile.erb +5 -0
  166. data/app/views/page/404.xml.erb +4 -0
  167. data/app/views/page/500.html.erb +9 -0
  168. data/app/views/page/500.mobile.erb +5 -0
  169. data/app/views/page/500.xml.erb +4 -0
  170. data/app/views/page/_add.html.erb +11 -0
  171. data/app/views/page/_footer.html.erb +13 -0
  172. data/app/views/page/_footer.mobile.erb +3 -0
  173. data/app/views/page/_header.html.erb +34 -0
  174. data/app/views/page/_include.html.erb +4 -0
  175. data/app/views/page/_index.html.erb +57 -0
  176. data/app/views/page/_index.mobile.erb +25 -0
  177. data/app/views/page/_locale_menu.html.erb +2 -0
  178. data/app/views/page/_login.html.erb +5 -0
  179. data/app/views/page/_menu.html.erb +136 -0
  180. data/app/views/page/_mobile.mobile.erb +3 -0
  181. data/app/views/page/_msie_acceralator.html.erb +6 -0
  182. data/app/views/page/_portlets.html.erb +26 -0
  183. data/app/views/page/_position.html.erb +2 -0
  184. data/app/views/page/_required_field.html.erb +4 -0
  185. data/app/views/page/_search_form.html.erb +11 -0
  186. data/app/views/page/_search_form.mobile.erb +10 -0
  187. data/app/views/page/_select_locale.html.erb +14 -0
  188. data/app/views/page/about.en.html.erb +58 -0
  189. data/app/views/page/about.ja.html.erb +57 -0
  190. data/app/views/page/add_on.html.erb +13 -0
  191. data/app/views/page/advanced_search.html.erb +77 -0
  192. data/app/views/page/configuration.html.erb +113 -0
  193. data/app/views/page/export.html.erb +31 -0
  194. data/app/views/page/import.html.erb +19 -0
  195. data/app/views/page/index.html.erb +5 -0
  196. data/app/views/page/index.mobile.erb +1 -0
  197. data/app/views/page/msie_acceralator.builder +15 -0
  198. data/app/views/page/opensearch.builder +16 -0
  199. data/app/views/page/statistics.html.erb +105 -0
  200. data/app/views/roles/_form.html.erb +19 -0
  201. data/app/views/roles/edit.html.erb +13 -0
  202. data/app/views/roles/index.html.erb +28 -0
  203. data/app/views/roles/new.html.erb +12 -0
  204. data/app/views/roles/show.html.erb +44 -0
  205. data/app/views/user_groups/_form.html.erb +35 -0
  206. data/app/views/user_groups/edit.html.erb +13 -0
  207. data/app/views/user_groups/index.html.erb +41 -0
  208. data/app/views/user_groups/new.html.erb +12 -0
  209. data/app/views/user_groups/show.html.erb +64 -0
  210. data/app/views/users/_edit_credential.html.erb +79 -0
  211. data/app/views/users/_form.html.erb +24 -0
  212. data/app/views/users/_show.html.erb +1 -0
  213. data/app/views/users/edit.html.erb +76 -0
  214. data/app/views/users/index.html.erb +67 -0
  215. data/app/views/users/new.html.erb +85 -0
  216. data/app/views/users/show.html.erb +86 -0
  217. data/app/views/users/show.mobile.erb +1 -0
  218. data/config/initializers/mime_types.rb +13 -0
  219. data/config/locales/devise.en.yml +59 -0
  220. data/config/locales/devise.ja.yml +55 -0
  221. data/config/locales/ja.yml +200 -0
  222. data/config/locales/kaminari.yml +19 -0
  223. data/config/locales/simple_form.en.yml +25 -0
  224. data/config/locales/simple_form.ja.yml +27 -0
  225. data/config/locales/translation_en.yml +423 -0
  226. data/config/locales/translation_ja.yml +400 -0
  227. data/config/routes.rb +33 -0
  228. data/db/fixtures2/bookstores.yml +9 -0
  229. data/db/fixtures2/carrier_type_has_checkout_types.yml +8 -0
  230. data/db/fixtures2/carrier_types.yml +29 -0
  231. data/db/fixtures2/checkout_types.yml +22 -0
  232. data/db/fixtures2/circulation_statuses.yml +106 -0
  233. data/db/fixtures2/classification_types.yml +7 -0
  234. data/db/fixtures2/content_types.yml +22 -0
  235. data/db/fixtures2/countries.yml +2044 -0
  236. data/db/fixtures2/create_types.yml +47 -0
  237. data/db/fixtures2/event_categories.yml +13 -0
  238. data/db/fixtures2/form_of_works.yml +7 -0
  239. data/db/fixtures2/frequencies.yml +55 -0
  240. data/db/fixtures2/languages.yml +1885 -0
  241. data/db/fixtures2/libraries.yml +25 -0
  242. data/db/fixtures2/library_groups.yml +10 -0
  243. data/db/fixtures2/licenses.yml +15 -0
  244. data/db/fixtures2/manifestation_relationship_types.yml +14 -0
  245. data/db/fixtures2/message_templates.yml +84 -0
  246. data/db/fixtures2/patron_relationship_types.yml +20 -0
  247. data/db/fixtures2/patron_types.yml +16 -0
  248. data/db/fixtures2/patrons.yml +19 -0
  249. data/db/fixtures2/produce_types.yml +32 -0
  250. data/db/fixtures2/realize_types.yml +40 -0
  251. data/db/fixtures2/request_status_types.yml +37 -0
  252. data/db/fixtures2/request_types.yml +29 -0
  253. data/db/fixtures2/roles.yml +29 -0
  254. data/db/fixtures2/shelves.yml +15 -0
  255. data/db/fixtures2/subject_types.yml +28 -0
  256. data/db/fixtures2/use_restrictions.yml +79 -0
  257. data/db/fixtures2/user_groups.yml +7 -0
  258. data/db/migrate/041_create_roles.rb +13 -0
  259. data/db/migrate/077_create_user_groups.rb +12 -0
  260. data/db/migrate/20091202124834_create_versions.rb +18 -0
  261. data/db/migrate/20100606065209_create_user_has_roles.rb +12 -0
  262. data/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +11 -0
  263. data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +26 -0
  264. data/db/schema.rb +1896 -0
  265. data/lib/enju_leaf.rb +294 -0
  266. data/lib/enju_leaf/controller.rb +24 -0
  267. data/lib/enju_leaf/engine.rb +16 -0
  268. data/lib/enju_leaf/helper.rb +116 -0
  269. data/lib/enju_leaf/user.rb +285 -0
  270. data/lib/enju_leaf/version.rb +3 -0
  271. data/lib/generators/enju_leaf/USAGE +8 -0
  272. data/lib/generators/enju_leaf/quick_install/USAGE +8 -0
  273. data/lib/generators/enju_leaf/quick_install/quick_install_generator.rb +27 -0
  274. data/lib/generators/enju_leaf/setup/setup_generator.rb +65 -0
  275. data/lib/generators/enju_leaf/setup/templates/config/application.yml +47 -0
  276. data/lib/generators/enju_leaf/setup/templates/config/resque.yml +3 -0
  277. data/lib/generators/enju_leaf/setup/templates/config/schedule.rb +53 -0
  278. data/lib/generators/enju_leaf/setup/templates/db/fixtures/roles.yml +29 -0
  279. data/lib/generators/enju_leaf/setup/templates/db/fixtures/user_groups.yml +7 -0
  280. data/lib/generators/enju_leaf/setup/templates/db/seeds.rb +38 -0
  281. data/lib/generators/enju_leaf/setup/templates/solr/conf/admin-extra.html +31 -0
  282. data/lib/generators/enju_leaf/setup/templates/solr/conf/elevate.xml +36 -0
  283. data/lib/generators/enju_leaf/setup/templates/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  284. data/lib/generators/enju_leaf/setup/templates/solr/conf/protwords.txt +21 -0
  285. data/lib/generators/enju_leaf/setup/templates/solr/conf/schema.xml +255 -0
  286. data/lib/generators/enju_leaf/setup/templates/solr/conf/scripts.conf +24 -0
  287. data/lib/generators/enju_leaf/setup/templates/solr/conf/solrconfig.xml +934 -0
  288. data/lib/generators/enju_leaf/setup/templates/solr/conf/spellings.txt +2 -0
  289. data/lib/generators/enju_leaf/setup/templates/solr/conf/stopwords.txt +58 -0
  290. data/lib/generators/enju_leaf/setup/templates/solr/conf/synonyms.txt +31 -0
  291. data/lib/plugins.rb +2 -0
  292. data/lib/plugins/ext.rb +1 -0
  293. data/lib/plugins/ext/sunspot.rb +3 -0
  294. data/lib/plugins/ext/sunspot/abstract_search.rb +12 -0
  295. data/lib/plugins/ext/sunspot/dismax.rb +41 -0
  296. data/lib/plugins/ext/sunspot/start_record.rb +55 -0
  297. data/lib/tasks/enju_leaf_tasks.rake +14 -0
  298. data/spec/acceptance/acceptance_helper.rb +4 -0
  299. data/spec/acceptance/support/helpers.rb +6 -0
  300. data/spec/acceptance/support/paths.rb +9 -0
  301. data/spec/controllers/my_accounts_controller_spec.rb +199 -0
  302. data/spec/controllers/page_controller_spec.rb +94 -0
  303. data/spec/controllers/roles_controller_spec.rb +136 -0
  304. data/spec/controllers/user_groups_controller_spec.rb +443 -0
  305. data/spec/controllers/users_controller_spec.rb +549 -0
  306. data/spec/dummy/README.rdoc +261 -0
  307. data/spec/dummy/Rakefile +7 -0
  308. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  309. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  310. data/spec/dummy/app/controllers/application_controller.rb +12 -0
  311. data/spec/dummy/app/helpers/application_helper.rb +3 -0
  312. data/spec/dummy/app/models/user.rb +8 -0
  313. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  314. data/spec/dummy/config.ru +4 -0
  315. data/spec/dummy/config/application.rb +59 -0
  316. data/spec/dummy/config/application.yml +47 -0
  317. data/spec/dummy/config/boot.rb +10 -0
  318. data/spec/dummy/config/database.yml +25 -0
  319. data/spec/dummy/config/environment.rb +5 -0
  320. data/spec/dummy/config/environments/development.rb +37 -0
  321. data/spec/dummy/config/environments/production.rb +67 -0
  322. data/spec/dummy/config/environments/test.rb +37 -0
  323. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  324. data/spec/dummy/config/initializers/devise.rb +205 -0
  325. data/spec/dummy/config/initializers/inflections.rb +15 -0
  326. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  327. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  328. data/spec/dummy/config/initializers/session_store.rb +8 -0
  329. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  330. data/spec/dummy/config/locales/en.yml +5 -0
  331. data/spec/dummy/config/routes.rb +59 -0
  332. data/spec/dummy/db/development.sqlite3 +0 -0
  333. data/spec/dummy/db/fixtures/bookstores.yml +9 -0
  334. data/spec/dummy/db/fixtures/carrier_types.yml +29 -0
  335. data/spec/dummy/db/fixtures/content_types.yml +22 -0
  336. data/spec/dummy/db/fixtures/countries.yml +2044 -0
  337. data/spec/dummy/db/fixtures/create_types.yml +47 -0
  338. data/spec/dummy/db/fixtures/form_of_works.yml +7 -0
  339. data/spec/dummy/db/fixtures/frequencies.yml +55 -0
  340. data/spec/dummy/db/fixtures/languages.yml +1885 -0
  341. data/spec/dummy/db/fixtures/libraries.yml +25 -0
  342. data/spec/dummy/db/fixtures/library_groups.yml +10 -0
  343. data/spec/dummy/db/fixtures/licenses.yml +15 -0
  344. data/spec/dummy/db/fixtures/manifestation_relationship_types.yml +14 -0
  345. data/spec/dummy/db/fixtures/patron_relationship_types.yml +20 -0
  346. data/spec/dummy/db/fixtures/patron_types.yml +16 -0
  347. data/spec/dummy/db/fixtures/patrons.yml +19 -0
  348. data/spec/dummy/db/fixtures/produce_types.yml +32 -0
  349. data/spec/dummy/db/fixtures/realize_types.yml +40 -0
  350. data/spec/dummy/db/fixtures/request_status_types.yml +37 -0
  351. data/spec/dummy/db/fixtures/request_types.yml +29 -0
  352. data/spec/dummy/db/fixtures/roles.yml +29 -0
  353. data/spec/dummy/db/fixtures/shelves.yml +15 -0
  354. data/spec/dummy/db/fixtures/user_groups.yml +7 -0
  355. data/spec/dummy/db/migrate/001_create_patrons.rb +53 -0
  356. data/spec/dummy/db/migrate/002_devise_create_users.rb +46 -0
  357. data/spec/dummy/db/migrate/005_create_manifestations.rb +56 -0
  358. data/spec/dummy/db/migrate/006_create_items.rb +28 -0
  359. data/spec/dummy/db/migrate/012_create_owns.rb +12 -0
  360. data/spec/dummy/db/migrate/015_create_creates.rb +12 -0
  361. data/spec/dummy/db/migrate/047_create_produces.rb +12 -0
  362. data/spec/dummy/db/migrate/059_create_libraries.rb +28 -0
  363. data/spec/dummy/db/migrate/069_create_shelves.rb +15 -0
  364. data/spec/dummy/db/migrate/073_create_carrier_types.rb +11 -0
  365. data/spec/dummy/db/migrate/080_create_library_groups.rb +19 -0
  366. data/spec/dummy/db/migrate/112_create_frequencies.rb +12 -0
  367. data/spec/dummy/db/migrate/117_create_form_of_works.rb +12 -0
  368. data/spec/dummy/db/migrate/120_create_baskets.rb +12 -0
  369. data/spec/dummy/db/migrate/124_create_bookstores.rb +17 -0
  370. data/spec/dummy/db/migrate/125_create_donates.rb +12 -0
  371. data/spec/dummy/db/migrate/130_create_request_status_types.rb +12 -0
  372. data/spec/dummy/db/migrate/131_create_request_types.rb +12 -0
  373. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +13 -0
  374. data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +13 -0
  375. data/spec/dummy/db/migrate/20080905191442_create_patron_types.rb +12 -0
  376. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +17 -0
  377. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +14 -0
  378. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +17 -0
  379. data/spec/dummy/db/migrate/20081025083323_create_countries.rb +28 -0
  380. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +23 -0
  381. data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +15 -0
  382. data/spec/dummy/db/migrate/20081028083142_create_patron_import_files.rb +22 -0
  383. data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +22 -0
  384. data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +15 -0
  385. data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +15 -0
  386. data/spec/dummy/db/migrate/20090719201843_create_extents.rb +12 -0
  387. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +12 -0
  388. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +12 -0
  389. data/spec/dummy/db/migrate/20090812151902_create_patron_relationship_types.rb +12 -0
  390. data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +27 -0
  391. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +12 -0
  392. data/spec/dummy/db/migrate/20091214131723_create_series_statements.rb +13 -0
  393. data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +15 -0
  394. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
  395. data/spec/dummy/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +13 -0
  396. data/spec/dummy/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +10 -0
  397. data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +13 -0
  398. data/spec/dummy/db/migrate/20100606073747_create_patron_relationships.rb +13 -0
  399. data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +12 -0
  400. data/spec/dummy/db/migrate/20100814091104_add_position_to_patron_relationship.rb +11 -0
  401. data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +15 -0
  402. data/spec/dummy/db/migrate/20100925074559_create_patron_import_results.rb +12 -0
  403. data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +9 -0
  404. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
  405. data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +9 -0
  406. data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_patron.rb +11 -0
  407. data/spec/dummy/db/migrate/20110425133109_add_issn_to_series_statement.rb +9 -0
  408. data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +9 -0
  409. data/spec/dummy/db/migrate/20110618091240_add_periodical_to_series_statement.rb +9 -0
  410. data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +9 -0
  411. data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +11 -0
  412. data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +9 -0
  413. data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +12 -0
  414. data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +13 -0
  415. data/spec/dummy/db/migrate/20110820131417_create_series_has_manifestations.rb +13 -0
  416. data/spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb +13 -0
  417. data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +13 -0
  418. data/spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +10 -0
  419. data/spec/dummy/db/migrate/20110918161853_rename_series_statement_manifestation_id_to_root_manifestation_id.rb +13 -0
  420. data/spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb +9 -0
  421. data/spec/dummy/db/migrate/20111009183423_add_ndc_to_manifestation.rb +9 -0
  422. data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +12 -0
  423. data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +12 -0
  424. data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +12 -0
  425. data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +7 -0
  426. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +5 -0
  427. data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +6 -0
  428. data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +12 -0
  429. data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +6 -0
  430. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +6 -0
  431. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +14 -0
  432. data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +5 -0
  433. data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +5 -0
  434. data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +5 -0
  435. data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +5 -0
  436. data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_patron_import_file.rb +5 -0
  437. data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +5 -0
  438. data/spec/dummy/db/migrate/20120413170720_add_error_message_to_patron_import_file.rb +5 -0
  439. data/spec/dummy/db/migrate/20120415060308_rename_resource_import_file_imported_at_to_executed_at.rb +9 -0
  440. data/spec/dummy/db/migrate/20120415060323_rename_patron_import_file_imported_at_to_executed_at.rb +9 -0
  441. data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +5 -0
  442. data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +5 -0
  443. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +5 -0
  444. data/spec/dummy/db/migrate/20120511072422_add_patron_identifier_to_patron.rb +6 -0
  445. data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_patron_import_file.rb +5 -0
  446. data/spec/dummy/db/migrate/20120728204337_create_series_statement_relationships.rb +11 -0
  447. data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +5 -0
  448. data/spec/dummy/db/migrate/20121116033446_add_doi_to_manifestation.rb +6 -0
  449. data/spec/dummy/db/migrate/20121119153944_add_manifestation_id_to_item.rb +5 -0
  450. data/spec/dummy/db/schema.rb +822 -0
  451. data/spec/dummy/db/test.sqlite3 +0 -0
  452. data/spec/dummy/public/404.html +26 -0
  453. data/spec/dummy/public/422.html +26 -0
  454. data/spec/dummy/public/500.html +25 -0
  455. data/spec/dummy/public/favicon.ico +0 -0
  456. data/spec/dummy/script/rails +6 -0
  457. data/spec/dummy/solr/conf/admin-extra.html +31 -0
  458. data/spec/dummy/solr/conf/elevate.xml +36 -0
  459. data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  460. data/spec/dummy/solr/conf/protwords.txt +21 -0
  461. data/spec/dummy/solr/conf/schema.xml +238 -0
  462. data/spec/dummy/solr/conf/scripts.conf +24 -0
  463. data/spec/dummy/solr/conf/solrconfig.xml +934 -0
  464. data/spec/dummy/solr/conf/spellings.txt +2 -0
  465. data/spec/dummy/solr/conf/stopwords.txt +58 -0
  466. data/spec/dummy/solr/conf/synonyms.txt +31 -0
  467. data/spec/dummy/solr/data/test/index/_3b.fdt +0 -0
  468. data/spec/dummy/solr/data/test/index/_3b.fdx +0 -0
  469. data/spec/dummy/solr/data/test/index/_3b.fnm +4 -0
  470. data/spec/dummy/solr/data/test/index/_3b.frq +1 -0
  471. data/spec/dummy/solr/data/test/index/_3b.nrm +1 -0
  472. data/spec/dummy/solr/data/test/index/_3b.prx +0 -0
  473. data/spec/dummy/solr/data/test/index/_3b.tii +0 -0
  474. data/spec/dummy/solr/data/test/index/_3b.tis +0 -0
  475. data/spec/dummy/solr/data/test/index/segments.gen +0 -0
  476. data/spec/dummy/solr/data/test/index/segments_6p +0 -0
  477. data/spec/dummy/solr/data/test/spellchecker/segments.gen +0 -0
  478. data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
  479. data/spec/dummy/tmp/cache/4F7/F90/default_role +0 -0
  480. data/spec/dummy/tmp/cache/ACB/B20/manifestation_search_total +0 -0
  481. data/spec/factories/basket.rb +5 -0
  482. data/spec/factories/bookstore.rb +5 -0
  483. data/spec/factories/carrier_type.rb +5 -0
  484. data/spec/factories/content_type.rb +5 -0
  485. data/spec/factories/country.rb +8 -0
  486. data/spec/factories/create.rb +6 -0
  487. data/spec/factories/create_types.rb +9 -0
  488. data/spec/factories/donate.rb +6 -0
  489. data/spec/factories/exemplify.rb +6 -0
  490. data/spec/factories/extent.rb +5 -0
  491. data/spec/factories/import_request.rb +5 -0
  492. data/spec/factories/item.rb +7 -0
  493. data/spec/factories/language.rb +8 -0
  494. data/spec/factories/library.rb +13 -0
  495. data/spec/factories/license.rb +5 -0
  496. data/spec/factories/manifestation.rb +6 -0
  497. data/spec/factories/manifestation_relationship.rb +6 -0
  498. data/spec/factories/manifestation_relationship_type.rb +5 -0
  499. data/spec/factories/medium_of_performance.rb +5 -0
  500. data/spec/factories/own.rb +6 -0
  501. data/spec/factories/patron.rb +13 -0
  502. data/spec/factories/patron_relationship.rb +6 -0
  503. data/spec/factories/patron_relationship_type.rb +5 -0
  504. data/spec/factories/patron_type.rb +5 -0
  505. data/spec/factories/produce.rb +6 -0
  506. data/spec/factories/produce_types.rb +9 -0
  507. data/spec/factories/realize.rb +6 -0
  508. data/spec/factories/realize_types.rb +9 -0
  509. data/spec/factories/series_has_manifestation.rb +6 -0
  510. data/spec/factories/series_statement.rb +5 -0
  511. data/spec/factories/shelf.rb +6 -0
  512. data/spec/factories/subscribe.rb +8 -0
  513. data/spec/factories/subscription.rb +6 -0
  514. data/spec/factories/user.rb +59 -0
  515. data/spec/factories/user_checkout_stat.rb +6 -0
  516. data/spec/factories/user_group.rb +5 -0
  517. data/spec/fixtures/baskets.yml +80 -0
  518. data/spec/fixtures/carrier_types.yml +51 -0
  519. data/spec/fixtures/content_types.yml +36 -0
  520. data/spec/fixtures/countries.yml +2059 -0
  521. data/spec/fixtures/create_types.yml +47 -0
  522. data/spec/fixtures/creates.yml +66 -0
  523. data/spec/fixtures/donates.yml +31 -0
  524. data/spec/fixtures/exemplifies.yml +156 -0
  525. data/spec/fixtures/extents.yml +29 -0
  526. data/spec/fixtures/import_requests.yml +27 -0
  527. data/spec/fixtures/items.yml +262 -0
  528. data/spec/fixtures/languages.yml +1901 -0
  529. data/spec/fixtures/libraries.yml +102 -0
  530. data/spec/fixtures/library_groups.yml +34 -0
  531. data/spec/fixtures/licenses.yml +29 -0
  532. data/spec/fixtures/manifestation_relationship_types.yml +29 -0
  533. data/spec/fixtures/manifestation_relationships.yml +30 -0
  534. data/spec/fixtures/manifestations.yml +2021 -0
  535. data/spec/fixtures/medium_of_performances.yml +29 -0
  536. data/spec/fixtures/owns.yml +27 -0
  537. data/spec/fixtures/patron_import_files.yml +47 -0
  538. data/spec/fixtures/patron_import_results.yml +29 -0
  539. data/spec/fixtures/patron_relationship_types.yml +34 -0
  540. data/spec/fixtures/patron_relationships.yml +25 -0
  541. data/spec/fixtures/patron_types.yml +35 -0
  542. data/spec/fixtures/patrons.yml +338 -0
  543. data/spec/fixtures/picture_files.yml +64 -0
  544. data/spec/fixtures/produce_types.yml +31 -0
  545. data/spec/fixtures/produces.yml +150 -0
  546. data/spec/fixtures/realize_types.yml +39 -0
  547. data/spec/fixtures/realizes.yml +87 -0
  548. data/spec/fixtures/resource_import_files.yml +47 -0
  549. data/spec/fixtures/resource_import_results.yml +29 -0
  550. data/spec/fixtures/roles.yml +39 -0
  551. data/spec/fixtures/series_has_manifestations.yml +35 -0
  552. data/spec/fixtures/series_statements.yml +45 -0
  553. data/spec/fixtures/shelves.yml +47 -0
  554. data/spec/fixtures/subscribes.yml +45 -0
  555. data/spec/fixtures/subscriptions.yml +27 -0
  556. data/spec/fixtures/user_groups.yml +50 -0
  557. data/spec/fixtures/user_has_roles.yml +40 -0
  558. data/spec/fixtures/users.yml +151 -0
  559. data/spec/fixtures_old/inventory_files.yml +40 -0
  560. data/spec/models/basket_spec.rb +23 -0
  561. data/spec/models/role_spec.rb +40 -0
  562. data/spec/models/user_group_spec.rb +26 -0
  563. data/spec/models/user_has_role_spec.rb +18 -0
  564. data/spec/models/user_spec.rb +218 -0
  565. data/spec/requests/users_spec.rb +9 -0
  566. data/spec/routing/accounts_spec.rb +14 -0
  567. data/spec/routing/roles_routing_spec.rb +35 -0
  568. data/spec/routing/users_routing_spec.rb +35 -0
  569. data/spec/spec_helper.rb +51 -0
  570. data/spec/support/controller_macros.rb +46 -0
  571. data/spec/support/devise.rb +4 -0
  572. data/spec/views/users/edit.html.erb_spec.rb +25 -0
  573. data/spec/views/users/index.html.erb_spec.rb +16 -0
  574. data/spec/views/users/new.html.erb_spec.rb +25 -0
  575. data/spec/views/users/show.html.erb_spec.rb +15 -0
  576. data/vendor/assets/javascripts/event_calendar.js +37 -0
  577. data/vendor/assets/javascripts/jquery.colorbox.js +1025 -0
  578. data/vendor/assets/javascripts/jquery.cookie.js +94 -0
  579. data/vendor/assets/javascripts/jquery.highlight.js +108 -0
  580. data/vendor/assets/javascripts/jquery.mobile-1.3.0.js +11092 -0
  581. data/vendor/assets/javascripts/jquery.powertip.js +796 -0
  582. data/vendor/assets/javascripts/jquery.shortcut.js +241 -0
  583. data/vendor/assets/javascripts/jquery.ui.menubar.js +327 -0
  584. data/vendor/assets/stylesheets/acts_as_taggable_stylesheet.css +7 -0
  585. data/vendor/assets/stylesheets/colorbox.css +93 -0
  586. data/vendor/assets/stylesheets/event_calendar.css +237 -0
  587. data/vendor/assets/stylesheets/html5-doctor-reset-stylesheet.min.css +14 -0
  588. data/vendor/assets/stylesheets/images/ajax-loader.gif +0 -0
  589. data/vendor/assets/stylesheets/images/border.png +0 -0
  590. data/vendor/assets/stylesheets/images/controls.png +0 -0
  591. data/vendor/assets/stylesheets/images/icons-18-black.png +0 -0
  592. data/vendor/assets/stylesheets/images/icons-18-white.png +0 -0
  593. data/vendor/assets/stylesheets/images/icons-36-black.png +0 -0
  594. data/vendor/assets/stylesheets/images/icons-36-white.png +0 -0
  595. data/vendor/assets/stylesheets/images/ie6/borderBottomCenter.png +0 -0
  596. data/vendor/assets/stylesheets/images/ie6/borderBottomLeft.png +0 -0
  597. data/vendor/assets/stylesheets/images/ie6/borderBottomRight.png +0 -0
  598. data/vendor/assets/stylesheets/images/ie6/borderMiddleLeft.png +0 -0
  599. data/vendor/assets/stylesheets/images/ie6/borderMiddleRight.png +0 -0
  600. data/vendor/assets/stylesheets/images/ie6/borderTopCenter.png +0 -0
  601. data/vendor/assets/stylesheets/images/ie6/borderTopLeft.png +0 -0
  602. data/vendor/assets/stylesheets/images/ie6/borderTopRight.png +0 -0
  603. data/vendor/assets/stylesheets/images/loading.gif +0 -0
  604. data/vendor/assets/stylesheets/images/loading_background.png +0 -0
  605. data/vendor/assets/stylesheets/images/overlay.png +0 -0
  606. data/vendor/assets/stylesheets/images/spinner_bar.gif +0 -0
  607. data/vendor/assets/stylesheets/jquery.mobile-1.3.0.css +3357 -0
  608. data/vendor/assets/stylesheets/jquery.powertip.css +64 -0
  609. data/vendor/assets/stylesheets/jquery.ui.menubar.css +15 -0
  610. metadata +1153 -0
@@ -0,0 +1,94 @@
1
+ require 'spec_helper'
2
+
3
+ describe PageController do
4
+ fixtures :library_groups, :user_groups, :roles
5
+
6
+ describe "GET page" do
7
+ describe "When logged in as Librarian" do
8
+ login_librarian
9
+
10
+ it "should get import" do
11
+ get :import
12
+ response.should be_success
13
+ end
14
+
15
+ it "should get configuration" do
16
+ get :configuration
17
+ response.should be_success
18
+ end
19
+ end
20
+
21
+ describe "When logged in as User" do
22
+ login_user
23
+
24
+ it "should redirect to user" do
25
+ get :index
26
+ response.should be_success
27
+ end
28
+
29
+ it "should not get import" do
30
+ get :import
31
+ response.should be_forbidden
32
+ end
33
+
34
+ it "should not get configuration" do
35
+ get :configuration
36
+ response.should be_forbidden
37
+ end
38
+ end
39
+
40
+ describe "When not logged in" do
41
+ it "should get index" do
42
+ get :index
43
+ response.should be_success
44
+ end
45
+
46
+ it "should get opensearch" do
47
+ get :opensearch
48
+ response.should be_success
49
+ end
50
+
51
+ it "should get msie_acceralator" do
52
+ get :msie_acceralator
53
+ response.should be_success
54
+ end
55
+
56
+ it "should get routing_error" do
57
+ get :routing_error
58
+ response.should be_missing
59
+ response.should render_template("page/404")
60
+ end
61
+
62
+ it "should get advanced_search" do
63
+ get :advanced_search
64
+ response.should be_success
65
+ assigns(:libraries).should eq Library.all
66
+ end
67
+
68
+ it "should get about" do
69
+ get :about
70
+ response.should be_success
71
+ end
72
+
73
+ it "should get add_on" do
74
+ get :add_on
75
+ response.should be_success
76
+ end
77
+
78
+ it "should get statistics" do
79
+ get :statistics
80
+ response.should be_success
81
+ end
82
+
83
+ it "should not get import" do
84
+ get :import
85
+ response.should redirect_to new_user_session_url
86
+ end
87
+
88
+ it "should not get configuration" do
89
+ get :configuration
90
+ response.should redirect_to new_user_session_url
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,136 @@
1
+ require 'spec_helper'
2
+
3
+ describe RolesController do
4
+ fixtures :all
5
+
6
+ describe "GET index" do
7
+ describe "When logged in as Administrator" do
8
+ login_admin
9
+
10
+ it "assigns all roles as @roles" do
11
+ get :index
12
+ assigns(:roles).should eq(Role.all)
13
+ end
14
+ end
15
+
16
+ describe "When logged in as Librarian" do
17
+ login_librarian
18
+
19
+ it "assigns all roles as @roles" do
20
+ get :index
21
+ assigns(:roles).should eq(Role.all)
22
+ end
23
+ end
24
+
25
+ describe "When logged in as User" do
26
+ login_user
27
+
28
+ it "assigns all roles as @roles" do
29
+ get :index
30
+ assigns(:roles).should be_empty
31
+ end
32
+ end
33
+
34
+ describe "When not logged in" do
35
+ it "assigns all roles as @roles" do
36
+ get :index
37
+ assigns(:roles).should be_empty
38
+ end
39
+ end
40
+ end
41
+
42
+ describe "GET show" do
43
+ describe "When logged in as Administrator" do
44
+ login_admin
45
+
46
+ it "assigns the requested role as @role" do
47
+ role = Role.find(1)
48
+ get :show, :id => role.id
49
+ assigns(:role).should eq(role)
50
+ end
51
+ end
52
+
53
+ describe "When not logged in" do
54
+ it "assigns the requested role as @role" do
55
+ role = Role.find(1)
56
+ get :show, :id => role.id
57
+ assigns(:role).should eq(role)
58
+ end
59
+ end
60
+ end
61
+
62
+ describe "GET edit" do
63
+ describe "When logged in as Administrator" do
64
+ login_admin
65
+
66
+ it "assigns the requested role as @role" do
67
+ role = Role.find(1)
68
+ get :edit, :id => role.id
69
+ assigns(:role).should eq(role)
70
+ end
71
+ end
72
+
73
+ describe "When not logged in" do
74
+ it "should not assign the requested role as @role" do
75
+ role = Role.find(1)
76
+ get :edit, :id => role.id
77
+ response.should redirect_to(new_user_session_url)
78
+ end
79
+ end
80
+ end
81
+
82
+ describe "PUT update" do
83
+ before(:each) do
84
+ @role = Role.find(1)
85
+ @attrs = {:display_name => 'guest user'}
86
+ @invalid_attrs = {:name => ''}
87
+ end
88
+
89
+ describe "When logged in as Administrator" do
90
+ login_admin
91
+
92
+ describe "with valid params" do
93
+ it "updates the requested role" do
94
+ put :update, :id => @role.id, :role => @attrs
95
+ end
96
+
97
+ it "assigns the requested role as @role" do
98
+ put :update, :id => @role.id, :role => @attrs
99
+ assigns(:role).should eq(@role)
100
+ end
101
+
102
+ it "moves its position when specified" do
103
+ put :update, :id => @role.id, :role => @attrs, :move => 'lower'
104
+ response.should redirect_to(roles_url)
105
+ end
106
+ end
107
+
108
+ describe "with invalid params" do
109
+ it "assigns the requested role as @role" do
110
+ put :update, :id => @role.id, :role => @invalid_attrs
111
+ response.should render_template("edit")
112
+ end
113
+ end
114
+ end
115
+
116
+ describe "When not logged in" do
117
+ describe "with valid params" do
118
+ it "updates the requested role" do
119
+ put :update, :id => @role.id, :role => @attrs
120
+ end
121
+
122
+ it "should be forbidden" do
123
+ put :update, :id => @role.id, :role => @attrs
124
+ response.should redirect_to(new_user_session_url)
125
+ end
126
+ end
127
+
128
+ describe "with invalid params" do
129
+ it "assigns the requested role as @role" do
130
+ put :update, :id => @role.id, :role => @invalid_attrs
131
+ response.should redirect_to(new_user_session_url)
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,443 @@
1
+ require 'spec_helper'
2
+
3
+ describe UserGroupsController do
4
+ fixtures :all
5
+
6
+ def valid_attributes
7
+ FactoryGirl.attributes_for(:user_group)
8
+ end
9
+
10
+ describe "GET index" do
11
+ before(:each) do
12
+ FactoryGirl.create(:user_group)
13
+ end
14
+
15
+ describe "When logged in as Administrator" do
16
+ login_admin
17
+
18
+ it "assigns all user_groups as @user_groups" do
19
+ get :index
20
+ assigns(:user_groups).should eq(UserGroup.all)
21
+ end
22
+ end
23
+
24
+ describe "When logged in as Librarian" do
25
+ login_librarian
26
+
27
+ it "assigns all user_groups as @user_groups" do
28
+ get :index
29
+ assigns(:user_groups).should eq(UserGroup.all)
30
+ end
31
+ end
32
+
33
+ describe "When logged in as User" do
34
+ login_user
35
+
36
+ it "assigns all user_groups as @user_groups" do
37
+ get :index
38
+ assigns(:user_groups).should eq(UserGroup.all)
39
+ end
40
+ end
41
+
42
+ describe "When not logged in" do
43
+ it "assigns all user_groups as @user_groups" do
44
+ get :index
45
+ assigns(:user_groups).should eq(UserGroup.all)
46
+ end
47
+ end
48
+ end
49
+
50
+ describe "GET show" do
51
+ describe "When logged in as Administrator" do
52
+ login_admin
53
+
54
+ it "assigns the requested user_group as @user_group" do
55
+ user_group = FactoryGirl.create(:user_group)
56
+ get :show, :id => user_group.id
57
+ assigns(:user_group).should eq(user_group)
58
+ end
59
+ end
60
+
61
+ describe "When logged in as Librarian" do
62
+ login_librarian
63
+
64
+ it "assigns the requested user_group as @user_group" do
65
+ user_group = FactoryGirl.create(:user_group)
66
+ get :show, :id => user_group.id
67
+ assigns(:user_group).should eq(user_group)
68
+ end
69
+ end
70
+
71
+ describe "When logged in as User" do
72
+ login_user
73
+
74
+ it "assigns the requested user_group as @user_group" do
75
+ user_group = FactoryGirl.create(:user_group)
76
+ get :show, :id => user_group.id
77
+ assigns(:user_group).should eq(user_group)
78
+ end
79
+ end
80
+
81
+ describe "When not logged in" do
82
+ it "assigns the requested user_group as @user_group" do
83
+ user_group = FactoryGirl.create(:user_group)
84
+ get :show, :id => user_group.id
85
+ assigns(:user_group).should eq(user_group)
86
+ end
87
+ end
88
+ end
89
+
90
+ describe "GET new" do
91
+ describe "When logged in as Administrator" do
92
+ login_admin
93
+
94
+ it "assigns the requested user_group as @user_group" do
95
+ get :new
96
+ assigns(:user_group).should_not be_valid
97
+ response.should be_success
98
+ end
99
+ end
100
+
101
+ describe "When logged in as Librarian" do
102
+ login_librarian
103
+
104
+ it "should not assign the requested user_group as @user_group" do
105
+ get :new
106
+ assigns(:user_group).should_not be_valid
107
+ response.should be_forbidden
108
+ end
109
+ end
110
+
111
+ describe "When logged in as User" do
112
+ login_user
113
+
114
+ it "should not assign the requested user_group as @user_group" do
115
+ get :new
116
+ assigns(:user_group).should_not be_valid
117
+ response.should be_forbidden
118
+ end
119
+ end
120
+
121
+ describe "When not logged in" do
122
+ it "should not assign the requested user_group as @user_group" do
123
+ get :new
124
+ assigns(:user_group).should_not be_valid
125
+ response.should redirect_to(new_user_session_url)
126
+ end
127
+ end
128
+ end
129
+
130
+ describe "GET edit" do
131
+ describe "When logged in as Administrator" do
132
+ login_admin
133
+
134
+ it "assigns the requested user_group as @user_group" do
135
+ user_group = FactoryGirl.create(:user_group)
136
+ get :edit, :id => user_group.id
137
+ assigns(:user_group).should eq(user_group)
138
+ end
139
+ end
140
+
141
+ describe "When logged in as Librarian" do
142
+ login_librarian
143
+
144
+ it "assigns the requested user_group as @user_group" do
145
+ user_group = FactoryGirl.create(:user_group)
146
+ get :edit, :id => user_group.id
147
+ response.should be_forbidden
148
+ end
149
+ end
150
+
151
+ describe "When logged in as User" do
152
+ login_user
153
+
154
+ it "assigns the requested user_group as @user_group" do
155
+ user_group = FactoryGirl.create(:user_group)
156
+ get :edit, :id => user_group.id
157
+ response.should be_forbidden
158
+ end
159
+ end
160
+
161
+ describe "When not logged in" do
162
+ it "should not assign the requested user_group as @user_group" do
163
+ user_group = FactoryGirl.create(:user_group)
164
+ get :edit, :id => user_group.id
165
+ response.should redirect_to(new_user_session_url)
166
+ end
167
+ end
168
+ end
169
+
170
+ describe "POST create" do
171
+ before(:each) do
172
+ @attrs = valid_attributes
173
+ @invalid_attrs = {:name => ''}
174
+ end
175
+
176
+ describe "When logged in as Administrator" do
177
+ login_admin
178
+
179
+ describe "with valid params" do
180
+ it "assigns a newly created user_group as @user_group" do
181
+ post :create, :user_group => @attrs
182
+ assigns(:user_group).should be_valid
183
+ end
184
+
185
+ it "redirects to the created patron" do
186
+ post :create, :user_group => @attrs
187
+ response.should redirect_to(assigns(:user_group))
188
+ end
189
+ end
190
+
191
+ describe "with invalid params" do
192
+ it "assigns a newly created but unsaved user_group as @user_group" do
193
+ post :create, :user_group => @invalid_attrs
194
+ assigns(:user_group).should_not be_valid
195
+ end
196
+
197
+ it "re-renders the 'new' template" do
198
+ post :create, :user_group => @invalid_attrs
199
+ response.should render_template("new")
200
+ end
201
+ end
202
+ end
203
+
204
+ describe "When logged in as Librarian" do
205
+ login_librarian
206
+
207
+ describe "with valid params" do
208
+ it "assigns a newly created user_group as @user_group" do
209
+ post :create, :user_group => @attrs
210
+ assigns(:user_group).should be_valid
211
+ end
212
+
213
+ it "should be forbidden" do
214
+ post :create, :user_group => @attrs
215
+ response.should be_forbidden
216
+ end
217
+ end
218
+
219
+ describe "with invalid params" do
220
+ it "assigns a newly created but unsaved user_group as @user_group" do
221
+ post :create, :user_group => @invalid_attrs
222
+ assigns(:user_group).should_not be_valid
223
+ end
224
+
225
+ it "should be forbidden" do
226
+ post :create, :user_group => @invalid_attrs
227
+ response.should be_forbidden
228
+ end
229
+ end
230
+ end
231
+
232
+ describe "When logged in as User" do
233
+ login_user
234
+
235
+ describe "with valid params" do
236
+ it "assigns a newly created user_group as @user_group" do
237
+ post :create, :user_group => @attrs
238
+ assigns(:user_group).should be_valid
239
+ end
240
+
241
+ it "should be forbidden" do
242
+ post :create, :user_group => @attrs
243
+ response.should be_forbidden
244
+ end
245
+ end
246
+
247
+ describe "with invalid params" do
248
+ it "assigns a newly created but unsaved user_group as @user_group" do
249
+ post :create, :user_group => @invalid_attrs
250
+ assigns(:user_group).should_not be_valid
251
+ end
252
+
253
+ it "should be forbidden" do
254
+ post :create, :user_group => @invalid_attrs
255
+ response.should be_forbidden
256
+ end
257
+ end
258
+ end
259
+
260
+ describe "When not logged in" do
261
+ describe "with valid params" do
262
+ it "assigns a newly created user_group as @user_group" do
263
+ post :create, :user_group => @attrs
264
+ assigns(:user_group).should be_valid
265
+ end
266
+
267
+ it "should be forbidden" do
268
+ post :create, :user_group => @attrs
269
+ response.should redirect_to(new_user_session_url)
270
+ end
271
+ end
272
+
273
+ describe "with invalid params" do
274
+ it "assigns a newly created but unsaved user_group as @user_group" do
275
+ post :create, :user_group => @invalid_attrs
276
+ assigns(:user_group).should_not be_valid
277
+ end
278
+
279
+ it "should be forbidden" do
280
+ post :create, :user_group => @invalid_attrs
281
+ response.should redirect_to(new_user_session_url)
282
+ end
283
+ end
284
+ end
285
+ end
286
+
287
+ describe "PUT update" do
288
+ before(:each) do
289
+ @user_group = FactoryGirl.create(:user_group)
290
+ @attrs = valid_attributes
291
+ @invalid_attrs = {:name => ''}
292
+ end
293
+
294
+ describe "When logged in as Administrator" do
295
+ login_admin
296
+
297
+ describe "with valid params" do
298
+ it "updates the requested user_group" do
299
+ put :update, :id => @user_group.id, :user_group => @attrs
300
+ end
301
+
302
+ it "assigns the requested user_group as @user_group" do
303
+ put :update, :id => @user_group.id, :user_group => @attrs
304
+ assigns(:user_group).should eq(@user_group)
305
+ end
306
+
307
+ it "moves its position when specified" do
308
+ put :update, :id => @user_group.id, :user_group => @attrs, :move => 'lower'
309
+ response.should redirect_to(user_groups_url)
310
+ end
311
+ end
312
+
313
+ describe "with invalid params" do
314
+ it "assigns the requested user_group as @user_group" do
315
+ put :update, :id => @user_group.id, :user_group => @invalid_attrs
316
+ response.should render_template("edit")
317
+ end
318
+ end
319
+ end
320
+
321
+ describe "When logged in as Librarian" do
322
+ login_librarian
323
+
324
+ describe "with valid params" do
325
+ it "updates the requested user_group" do
326
+ put :update, :id => @user_group.id, :user_group => @attrs
327
+ end
328
+
329
+ it "assigns the requested user_group as @user_group" do
330
+ put :update, :id => @user_group.id, :user_group => @attrs
331
+ assigns(:user_group).should eq(@user_group)
332
+ response.should be_forbidden
333
+ end
334
+ end
335
+
336
+ describe "with invalid params" do
337
+ it "assigns the requested user_group as @user_group" do
338
+ put :update, :id => @user_group.id, :user_group => @invalid_attrs
339
+ response.should be_forbidden
340
+ end
341
+ end
342
+ end
343
+
344
+ describe "When logged in as User" do
345
+ login_user
346
+
347
+ describe "with valid params" do
348
+ it "updates the requested user_group" do
349
+ put :update, :id => @user_group.id, :user_group => @attrs
350
+ end
351
+
352
+ it "assigns the requested user_group as @user_group" do
353
+ put :update, :id => @user_group.id, :user_group => @attrs
354
+ assigns(:user_group).should eq(@user_group)
355
+ response.should be_forbidden
356
+ end
357
+ end
358
+
359
+ describe "with invalid params" do
360
+ it "assigns the requested user_group as @user_group" do
361
+ put :update, :id => @user_group.id, :user_group => @invalid_attrs
362
+ response.should be_forbidden
363
+ end
364
+ end
365
+ end
366
+
367
+ describe "When not logged in" do
368
+ describe "with valid params" do
369
+ it "updates the requested user_group" do
370
+ put :update, :id => @user_group.id, :user_group => @attrs
371
+ end
372
+
373
+ it "should be forbidden" do
374
+ put :update, :id => @user_group.id, :user_group => @attrs
375
+ response.should redirect_to(new_user_session_url)
376
+ end
377
+ end
378
+
379
+ describe "with invalid params" do
380
+ it "assigns the requested user_group as @user_group" do
381
+ put :update, :id => @user_group.id, :user_group => @invalid_attrs
382
+ response.should redirect_to(new_user_session_url)
383
+ end
384
+ end
385
+ end
386
+ end
387
+
388
+ describe "DELETE destroy" do
389
+ before(:each) do
390
+ @user_group = FactoryGirl.create(:user_group)
391
+ end
392
+
393
+ describe "When logged in as Administrator" do
394
+ login_admin
395
+
396
+ it "destroys the requested user_group" do
397
+ delete :destroy, :id => @user_group.id
398
+ end
399
+
400
+ it "redirects to the user_groups list" do
401
+ delete :destroy, :id => @user_group.id
402
+ response.should redirect_to(user_groups_url)
403
+ end
404
+ end
405
+
406
+ describe "When logged in as Librarian" do
407
+ login_librarian
408
+
409
+ it "destroys the requested user_group" do
410
+ delete :destroy, :id => @user_group.id
411
+ end
412
+
413
+ it "should be forbidden" do
414
+ delete :destroy, :id => @user_group.id
415
+ response.should be_forbidden
416
+ end
417
+ end
418
+
419
+ describe "When logged in as User" do
420
+ login_user
421
+
422
+ it "destroys the requested user_group" do
423
+ delete :destroy, :id => @user_group.id
424
+ end
425
+
426
+ it "should be forbidden" do
427
+ delete :destroy, :id => @user_group.id
428
+ response.should be_forbidden
429
+ end
430
+ end
431
+
432
+ describe "When not logged in" do
433
+ it "destroys the requested user_group" do
434
+ delete :destroy, :id => @user_group.id
435
+ end
436
+
437
+ it "should be forbidden" do
438
+ delete :destroy, :id => @user_group.id
439
+ response.should redirect_to(new_user_session_url)
440
+ end
441
+ end
442
+ end
443
+ end