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,40 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+
3
+ inventory_file_00001:
4
+ id: 1
5
+ inventory_file_name: MyString
6
+ inventory_file_size: 1
7
+ user_id: 1
8
+ inventory_content_type: text/csv
9
+ inventory_file_00002:
10
+ id: 2
11
+ inventory_file_name: MyString
12
+ inventory_file_size: 1
13
+ user_id: 1
14
+ inventory_content_type: text/csv
15
+ inventory_file_00003:
16
+ id: 3
17
+ inventory_file_name: MyString
18
+ inventory_file_size: 1
19
+ user_id: 1
20
+ inventory_content_type: text/csv
21
+
22
+ # == Schema Information
23
+ #
24
+ # Table name: inventory_files
25
+ #
26
+ # id :integer not null, primary key
27
+ # filename :string(255)
28
+ # content_type :string(255)
29
+ # size :integer
30
+ # user_id :integer
31
+ # note :text
32
+ # created_at :datetime not null
33
+ # updated_at :datetime not null
34
+ # inventory_file_name :string(255)
35
+ # inventory_content_type :string(255)
36
+ # inventory_file_size :integer
37
+ # inventory_updated_at :datetime
38
+ # inventory_fingerprint :string(255)
39
+ #
40
+
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ describe Basket do
5
+ fixtures :all
6
+
7
+ it "should not create basket when user is not active" do
8
+ Basket.create(:user => users(:user4)).id.should be_nil
9
+ end
10
+ end
11
+
12
+ # == Schema Information
13
+ #
14
+ # Table name: baskets
15
+ #
16
+ # id :integer not null, primary key
17
+ # user_id :integer
18
+ # note :text
19
+ # lock_version :integer default(0), not null
20
+ # created_at :datetime not null
21
+ # updated_at :datetime not null
22
+ #
23
+
@@ -0,0 +1,40 @@
1
+ # == Schema Information
2
+ #
3
+ # Table name: roles
4
+ #
5
+ # id :integer not null, primary key
6
+ # name :string(255) not null
7
+ # display_name :string(255)
8
+ # note :text
9
+ # created_at :datetime
10
+ # updated_at :datetime
11
+ # score :integer default(0), not null
12
+ # position :integer
13
+ #
14
+
15
+ # -*- encoding: utf-8 -*-
16
+ require 'spec_helper'
17
+
18
+ describe Role do
19
+ #pending "add some examples to (or delete) #{__FILE__}"
20
+ fixtures :roles
21
+
22
+ it "should not be saved if name is blank" do
23
+ role = Role.first
24
+ role.name = ''
25
+ lambda{role.save!}.should raise_error(ActiveRecord::RecordInvalid)
26
+ end
27
+
28
+ it "should not be saved if name is not unique" do
29
+ role = Role.first
30
+ lambda{Role.create!(:name => role.name)}.should raise_error(ActiveRecord::RecordInvalid)
31
+ end
32
+
33
+ it "should respond to localized_name" do
34
+ roles(:role_00001).localized_name.should eq 'Guest'
35
+ end
36
+
37
+ it "should respond to default_role" do
38
+ Role.default_role.should eq roles(:role_00001)
39
+ end
40
+ end
@@ -0,0 +1,26 @@
1
+ # == Schema Information
2
+ #
3
+ # Table name: user_groups
4
+ #
5
+ # id :integer not null, primary key
6
+ # name :string(255)
7
+ # display_name :text
8
+ # note :text
9
+ # position :integer
10
+ # created_at :datetime not null
11
+ # updated_at :datetime not null
12
+ # deleted_at :datetime
13
+ # valid_period_for_new_user :integer default(0), not null
14
+ # expired_at :datetime
15
+ # number_of_day_to_notify_overdue :integer default(1), not null
16
+ # number_of_day_to_notify_due_date :integer default(7), not null
17
+ # number_of_time_to_notify_overdue :integer default(3), not null
18
+ #
19
+
20
+ # -*- encoding: utf-8 -*-
21
+ require 'spec_helper'
22
+
23
+ describe UserGroup do
24
+ #pending "add some examples to (or delete) #{__FILE__}"
25
+
26
+ end
@@ -0,0 +1,18 @@
1
+ # == Schema Information
2
+ #
3
+ # Table name: user_has_roles
4
+ #
5
+ # id :integer not null, primary key
6
+ # user_id :integer
7
+ # role_id :integer
8
+ # created_at :datetime not null
9
+ # updated_at :datetime not null
10
+ #
11
+
12
+ # -*- encoding: utf-8 -*-
13
+ require 'spec_helper'
14
+
15
+ describe UserHasRole do
16
+ #pending "add some examples to (or delete) #{__FILE__}"
17
+
18
+ end
@@ -0,0 +1,218 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ describe User do
5
+ #pending "add some examples to (or delete) #{__FILE__}"
6
+ fixtures :all
7
+
8
+ it 'should create an user' do
9
+ FactoryGirl.create(:user)
10
+ end
11
+
12
+ it 'should destroy an user' do
13
+ user = FactoryGirl.create(:user)
14
+ user.destroy.should be_true
15
+ end
16
+
17
+ it 'should respond to has_role(Administrator)' do
18
+ admin = FactoryGirl.create(:admin)
19
+ admin.has_role?('Administrator').should be_true
20
+ end
21
+
22
+ it 'should respond to has_role(Librarian)' do
23
+ librarian = FactoryGirl.create(:librarian)
24
+ librarian.has_role?('Administrator').should be_false
25
+ librarian.has_role?('Librarian').should be_true
26
+ librarian.has_role?('User').should be_true
27
+ end
28
+
29
+ it 'should respond to has_role(User)' do
30
+ user = FactoryGirl.create(:user)
31
+ user.has_role?('Administrator').should be_false
32
+ user.has_role?('Librarian').should be_false
33
+ user.has_role?('User').should be_true
34
+ end
35
+
36
+ it 'should lock an user' do
37
+ user = FactoryGirl.create(:user)
38
+ user.locked = '1'
39
+ user.save
40
+ user.active_for_authentication?.should be_false
41
+ end
42
+
43
+ it 'should unlock an user' do
44
+ user = FactoryGirl.create(:user)
45
+ user.lock_access!
46
+ user.locked = '0'
47
+ user.save
48
+ user.active_for_authentication?.should be_true
49
+ end
50
+
51
+ it 'should not set expired_at if its user group does not have valid period' do
52
+ user = FactoryGirl.create(:user)
53
+ user.expired_at.should be_nil
54
+ end
55
+
56
+ it 'should not set expired_at if its user group does not have valid period' do
57
+ user = FactoryGirl.build(:user)
58
+ user.user_group = FactoryGirl.create(:user_group, :valid_period_for_new_user => 10)
59
+ user.save
60
+ user.expired_at.should eq 10.days.from_now.end_of_day
61
+ end
62
+
63
+ it "should create user" do
64
+ user = FactoryGirl.create(:user)
65
+ assert !user.new_record?, "#{user.errors.full_messages.to_sentence}"
66
+ end
67
+
68
+ it "should require username" do
69
+ old_count = User.count
70
+ user = FactoryGirl.build(:user, :username => nil)
71
+ user.save
72
+ user.errors[:username].should be_true
73
+ User.count.should eq old_count
74
+ end
75
+
76
+ it "should not require user_number" do
77
+ user = FactoryGirl.create(:user, :user_number => nil)
78
+ user.errors[:user_number].should be_empty
79
+ end
80
+
81
+ it "should require password" do
82
+ user = FactoryGirl.build(:user, :password => nil)
83
+ user.save
84
+ user.errors[:password].should be_true
85
+ end
86
+
87
+ it "should not require password_confirmation on create" do
88
+ user = FactoryGirl.build(:user, :password => 'new_password', :password_confirmation => nil)
89
+ user.save
90
+ user.errors[:email].should be_empty
91
+ end
92
+
93
+ it "should not require email on create if an operator is set" do
94
+ user = FactoryGirl.build(:user, :email => '')
95
+ user.operator = FactoryGirl.create(:admin)
96
+ user.save
97
+ user.errors[:email].should be_empty
98
+ end
99
+
100
+ it "should reset password" do
101
+ users(:user1).password = 'new password'
102
+ users(:user1).password_confirmation = 'new password'
103
+ users(:user1).save
104
+ users(:user1).valid_password?('new password').should be_true
105
+ end
106
+
107
+ it "should set temporary_password" do
108
+ user = users(:user1)
109
+ old_password = user.encrypted_password
110
+ user.set_auto_generated_password
111
+ user.save
112
+ old_password.should_not eq user.encrypted_password
113
+ user.valid_password?('user1password').should be_false
114
+ end
115
+
116
+ it "should get highest_role" do
117
+ users(:admin).role.name.should eq 'Administrator'
118
+ end
119
+
120
+ it "should lock all expired users" do
121
+ User.lock_expired_users
122
+ users(:user4).active_for_authentication?.should be_false
123
+ end
124
+
125
+ it "should lock_expired users" do
126
+ user = users(:user1)
127
+ users(:user1).active_for_authentication?.should be_true
128
+ user.expired_at = 1.day.ago
129
+ user.save
130
+ users(:user1).active_for_authentication?.should be_false
131
+ end
132
+
133
+ if defined?(EnjuQuestion)
134
+ it "should reset answer_feed_token" do
135
+ users(:user1).reset_answer_feed_token
136
+ users(:user1).answer_feed_token.should be_true
137
+ end
138
+
139
+ it "should delete answer_feed_token" do
140
+ users(:user1).delete_answer_feed_token
141
+ users(:user1).answer_feed_token.should be_nil
142
+ end
143
+ end
144
+
145
+ if defined?(EnjuCirculation)
146
+ it "should reset checkout_icalendar_token" do
147
+ users(:user1).reset_checkout_icalendar_token
148
+ users(:user1).checkout_icalendar_token.should be_true
149
+ end
150
+
151
+ it "should delete checkout_icalendar_token" do
152
+ users(:user1).delete_checkout_icalendar_token
153
+ users(:user1).checkout_icalendar_token.should be_nil
154
+ end
155
+
156
+ it "should get checked_item_count" do
157
+ count = users(:user1).checked_item_count
158
+ count.should eq({:book=>2, :serial=>1, :cd=>0})
159
+ end
160
+
161
+ it "should get reserves_count" do
162
+ users(:user1).reserves.waiting.count.should eq 1
163
+ end
164
+ end
165
+
166
+ if defined?(EnjuMessage)
167
+ it "should send_message" do
168
+ assert users(:librarian1).send_message('reservation_expired_for_patron', :manifestations => users(:librarian1).reserves.not_sent_expiration_notice_to_patron.collect(&:manifestation))
169
+ users(:librarian1).reload
170
+ users(:librarian1).reserves.not_sent_expiration_notice_to_patron.should be_empty
171
+ end
172
+ end
173
+ end
174
+ # == Schema Information
175
+ #
176
+ # Table name: users
177
+ #
178
+ # id :integer not null, primary key
179
+ # email :string(255) default(""), not null
180
+ # encrypted_password :string(255) default(""), not null
181
+ # reset_password_token :string(255)
182
+ # reset_password_sent_at :datetime
183
+ # remember_created_at :datetime
184
+ # sign_in_count :integer default(0)
185
+ # current_sign_in_at :datetime
186
+ # last_sign_in_at :datetime
187
+ # current_sign_in_ip :string(255)
188
+ # last_sign_in_ip :string(255)
189
+ # password_salt :string(255)
190
+ # confirmation_token :string(255)
191
+ # confirmed_at :datetime
192
+ # confirmation_sent_at :datetime
193
+ # unconfirmed_email :string(255)
194
+ # failed_attempts :integer default(0)
195
+ # unlock_token :string(255)
196
+ # locked_at :datetime
197
+ # authentication_token :string(255)
198
+ # created_at :datetime not null
199
+ # updated_at :datetime not null
200
+ # deleted_at :datetime
201
+ # username :string(255) not null
202
+ # library_id :integer default(1), not null
203
+ # user_group_id :integer default(1), not null
204
+ # expired_at :datetime
205
+ # required_role_id :integer default(1), not null
206
+ # note :text
207
+ # keyword_list :text
208
+ # user_number :string(255)
209
+ # state :string(255)
210
+ # locale :string(255)
211
+ # enju_access_key :string(255)
212
+ # save_checkout_history :boolean default(FALSE), not null
213
+ # checkout_icalendar_token :string(255)
214
+ # share_bookmarks :boolean
215
+ # save_search_history :boolean default(FALSE), not null
216
+ # answer_feed_token :string(255)
217
+ #
218
+
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Users" do
4
+ describe "GET /users" do
5
+ it "works! (now write some real specs)" do
6
+ get users_path
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe UsersController do
4
+ describe "routing" do
5
+
6
+ it "recognizes and generates #new" do
7
+ { :get => "/accounts/sign_in" }.should route_to(:controller => "devise/sessions", :action => "new")
8
+ end
9
+
10
+ it "recognizes and generates #destroy" do
11
+ { :delete => "/accounts/sign_out" }.should route_to(:controller => "devise/sessions", :action => "destroy")
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,35 @@
1
+ require "spec_helper"
2
+
3
+ describe RolesController do
4
+ describe "routing" do
5
+
6
+ it "recognizes and generates #index" do
7
+ { :get => "/roles" }.should route_to(:controller => "roles", :action => "index")
8
+ end
9
+
10
+ #it "recognizes and generates #new" do
11
+ # { :get => "/roles/new" }.should route_to(:controller => "roles", :action => "new")
12
+ #end
13
+
14
+ it "recognizes and generates #show" do
15
+ { :get => "/roles/1" }.should route_to(:controller => "roles", :action => "show", :id => "1")
16
+ end
17
+
18
+ it "recognizes and generates #edit" do
19
+ { :get => "/roles/1/edit" }.should route_to(:controller => "roles", :action => "edit", :id => "1")
20
+ end
21
+
22
+ #it "recognizes and generates #create" do
23
+ # { :post => "/roles" }.should route_to(:controller => "roles", :action => "create")
24
+ #end
25
+
26
+ it "recognizes and generates #update" do
27
+ { :put => "/roles/1" }.should route_to(:controller => "roles", :action => "update", :id => "1")
28
+ end
29
+
30
+ #it "recognizes and generates #destroy" do
31
+ # { :delete => "/roles/1" }.should route_to(:controller => "roles", :action => "destroy", :id => "1")
32
+ #end
33
+
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ require "spec_helper"
2
+
3
+ describe UsersController do
4
+ describe "routing" do
5
+
6
+ it "recognizes and generates #index" do
7
+ { :get => "/users" }.should route_to(:controller => "users", :action => "index")
8
+ end
9
+
10
+ it "recognizes and generates #new" do
11
+ { :get => "/users/new" }.should route_to(:controller => "users", :action => "new")
12
+ end
13
+
14
+ it "recognizes and generates #show" do
15
+ { :get => "/users/1" }.should route_to(:controller => "users", :action => "show", :id => "1")
16
+ end
17
+
18
+ it "recognizes and generates #edit" do
19
+ { :get => "/users/1/edit" }.should route_to(:controller => "users", :action => "edit", :id => "1")
20
+ end
21
+
22
+ it "recognizes and generates #create" do
23
+ { :post => "/users" }.should route_to(:controller => "users", :action => "create")
24
+ end
25
+
26
+ it "recognizes and generates #update" do
27
+ { :put => "/users/1" }.should route_to(:controller => "users", :action => "update", :id => "1")
28
+ end
29
+
30
+ it "recognizes and generates #destroy" do
31
+ { :delete => "/users/1" }.should route_to(:controller => "users", :action => "destroy", :id => "1")
32
+ end
33
+
34
+ end
35
+ end