enju_message 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (231) hide show
  1. data/config/locales/translation_en.yml +51 -0
  2. data/config/locales/translation_ja.yml +51 -0
  3. data/lib/enju_message/version.rb +1 -1
  4. data/spec/controllers/message_requests_controller_spec.rb +275 -0
  5. data/spec/controllers/message_templates_controller_spec.rb +443 -0
  6. data/spec/controllers/messages_controller_spec.rb +439 -0
  7. data/{test → spec}/dummy/Rakefile +0 -0
  8. data/{test → spec}/dummy/app/assets/javascripts/application.js +0 -0
  9. data/{test → spec}/dummy/app/assets/stylesheets/application.css +0 -0
  10. data/spec/dummy/app/controllers/application_controller.rb +45 -0
  11. data/{test → spec}/dummy/app/helpers/application_helper.rb +0 -0
  12. data/spec/dummy/app/mailers/notifier.rb +28 -0
  13. data/spec/dummy/app/models/ability.rb +30 -0
  14. data/spec/dummy/app/models/library_group.rb +86 -0
  15. data/spec/dummy/app/models/patron.rb +167 -0
  16. data/spec/dummy/app/models/patron_type.rb +19 -0
  17. data/spec/dummy/app/models/role.rb +8 -0
  18. data/spec/dummy/app/models/user.rb +53 -0
  19. data/spec/dummy/app/models/user_group.rb +2 -0
  20. data/spec/dummy/app/models/user_has_role.rb +4 -0
  21. data/{test → spec}/dummy/app/views/layouts/application.html.erb +0 -0
  22. data/spec/dummy/app/views/page/403.html.erb +9 -0
  23. data/spec/dummy/app/views/page/403.mobile.erb +5 -0
  24. data/spec/dummy/app/views/page/403.xml.erb +4 -0
  25. data/spec/dummy/app/views/page/404.html.erb +9 -0
  26. data/spec/dummy/app/views/page/404.mobile.erb +5 -0
  27. data/spec/dummy/app/views/page/404.xml.erb +4 -0
  28. data/{test → spec}/dummy/config/application.rb +1 -0
  29. data/{test → spec}/dummy/config/boot.rb +0 -0
  30. data/{test → spec}/dummy/config/database.yml +0 -0
  31. data/{test → spec}/dummy/config/environment.rb +0 -0
  32. data/{test → spec}/dummy/config/environments/development.rb +0 -0
  33. data/{test → spec}/dummy/config/environments/production.rb +0 -0
  34. data/{test → spec}/dummy/config/environments/test.rb +0 -0
  35. data/{test → spec}/dummy/config/initializers/backtrace_silencers.rb +0 -0
  36. data/spec/dummy/config/initializers/devise.rb +209 -0
  37. data/{test → spec}/dummy/config/initializers/inflections.rb +0 -0
  38. data/{test → spec}/dummy/config/initializers/mime_types.rb +1 -0
  39. data/{test → spec}/dummy/config/initializers/secret_token.rb +0 -0
  40. data/{test → spec}/dummy/config/initializers/session_store.rb +0 -0
  41. data/{test → spec}/dummy/config/initializers/wrap_parameters.rb +0 -0
  42. data/{test → spec}/dummy/config/locales/en.yml +0 -0
  43. data/{test → spec}/dummy/config/routes.rb +2 -0
  44. data/{test → spec}/dummy/config.ru +0 -0
  45. data/{test/dummy/public/favicon.ico → spec/dummy/db/development.sqlite3} +0 -0
  46. data/spec/dummy/db/migrate/001_create_patrons.rb +62 -0
  47. data/spec/dummy/db/migrate/080_create_library_groups.rb +25 -0
  48. data/spec/dummy/db/migrate/20080905191442_create_patron_types.rb +16 -0
  49. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
  50. data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +9 -0
  51. data/spec/dummy/db/migrate/20100527113752_create_delayed_jobs.rb +21 -0
  52. data/spec/dummy/db/migrate/20110115022329_add_position_to_library_group.rb +9 -0
  53. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
  54. data/spec/dummy/db/migrate/20111020063828_remove_dsbl_from_library_group.rb +11 -0
  55. data/spec/dummy/db/migrate/20111201121636_create_languages.rb +16 -0
  56. data/spec/dummy/db/migrate/20111201121844_create_roles.rb +12 -0
  57. data/spec/dummy/db/migrate/20111201155456_create_users.rb +14 -0
  58. data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +31 -0
  59. data/spec/dummy/db/migrate/20111201163342_create_user_groups.rb +12 -0
  60. data/spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb +10 -0
  61. data/spec/dummy/db/schema.rb +225 -0
  62. data/spec/dummy/db/test.sqlite3 +0 -0
  63. data/spec/dummy/lib/enju_leaf/localized_name.rb +13 -0
  64. data/spec/dummy/lib/enju_leaf/master_model.rb +41 -0
  65. data/spec/dummy/lib/enju_leaf/url_validator.rb +10 -0
  66. data/spec/dummy/lib/enju_leaf.rb +4 -0
  67. data/spec/dummy/log/development.log +106 -0
  68. data/spec/dummy/log/sunspot-solr-test.log +232 -0
  69. data/spec/dummy/log/test.log +145040 -0
  70. data/{test → spec}/dummy/public/404.html +0 -0
  71. data/{test → spec}/dummy/public/422.html +0 -0
  72. data/{test → spec}/dummy/public/500.html +0 -0
  73. data/spec/dummy/public/favicon.ico +0 -0
  74. data/{test → spec}/dummy/script/rails +0 -0
  75. data/spec/dummy/solr/conf/admin-extra.html +31 -0
  76. data/spec/dummy/solr/conf/elevate.xml +36 -0
  77. data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  78. data/spec/dummy/solr/conf/protwords.txt +21 -0
  79. data/spec/dummy/solr/conf/schema.xml +238 -0
  80. data/spec/dummy/solr/conf/scripts.conf +24 -0
  81. data/spec/dummy/solr/conf/solrconfig.xml +934 -0
  82. data/spec/dummy/solr/conf/spellings.txt +2 -0
  83. data/spec/dummy/solr/conf/stopwords.txt +58 -0
  84. data/spec/dummy/solr/conf/synonyms.txt +31 -0
  85. data/spec/dummy/solr/data/test/index/segments.gen +0 -0
  86. data/spec/dummy/solr/data/test/index/segments_1 +0 -0
  87. data/spec/dummy/solr/data/test/spellchecker/segments.gen +0 -0
  88. data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
  89. data/spec/factories/message.rb +8 -0
  90. data/spec/factories/message_request.rb +7 -0
  91. data/spec/factories/message_template.rb +7 -0
  92. data/spec/factories/user.rb +34 -0
  93. data/spec/fixtures/library_groups.yml +34 -0
  94. data/spec/fixtures/message_requests.yml +30 -0
  95. data/spec/fixtures/message_templates.yml +65 -0
  96. data/spec/fixtures/messages.yml +62 -0
  97. data/spec/fixtures/patrons.yml +338 -0
  98. data/spec/fixtures/roles.yml +21 -0
  99. data/spec/fixtures/user_groups.yml +25 -0
  100. data/spec/fixtures/user_has_roles.yml +41 -0
  101. data/spec/fixtures/users.yml +69 -0
  102. data/spec/models/message_request_spec.rb +24 -0
  103. data/spec/models/message_spec.rb +59 -0
  104. data/spec/models/message_template_spec.rb +24 -0
  105. data/spec/spec_helper.rb +46 -0
  106. data/spec/support/controller_macros.rb +48 -0
  107. data/spec/support/devise.rb +4 -0
  108. metadata +273 -220
  109. data/app/views/baskets/edit.html.erb +0 -30
  110. data/app/views/baskets/index.html.erb +0 -31
  111. data/app/views/baskets/new.html.erb +0 -29
  112. data/app/views/baskets/show.html.erb +0 -23
  113. data/app/views/carrier_type_has_checkout_types/_form.html.erb +0 -19
  114. data/app/views/carrier_type_has_checkout_types/edit.html.erb +0 -13
  115. data/app/views/carrier_type_has_checkout_types/index.html.erb +0 -33
  116. data/app/views/carrier_type_has_checkout_types/new.html.erb +0 -12
  117. data/app/views/carrier_type_has_checkout_types/show.html.erb +0 -29
  118. data/app/views/checked_items/_checkouts.html.erb +0 -20
  119. data/app/views/checked_items/_list.html.erb +0 -39
  120. data/app/views/checked_items/edit.html.erb +0 -21
  121. data/app/views/checked_items/index.html.erb +0 -32
  122. data/app/views/checked_items/index.js.erb +0 -1
  123. data/app/views/checked_items/new.html.erb +0 -20
  124. data/app/views/checked_items/show.html.erb +0 -24
  125. data/app/views/checkins/_form.html.erb +0 -24
  126. data/app/views/checkins/_list.html.erb +0 -51
  127. data/app/views/checkins/edit.html.erb +0 -26
  128. data/app/views/checkins/index.html.erb +0 -16
  129. data/app/views/checkins/index.js.erb +0 -1
  130. data/app/views/checkins/new.html.erb +0 -14
  131. data/app/views/checkins/show.html.erb +0 -24
  132. data/app/views/checkout_stat_has_manifestations/_form.html.erb +0 -15
  133. data/app/views/checkout_stat_has_manifestations/edit.html.erb +0 -13
  134. data/app/views/checkout_stat_has_manifestations/index.html.erb +0 -33
  135. data/app/views/checkout_stat_has_manifestations/new.html.erb +0 -12
  136. data/app/views/checkout_stat_has_manifestations/show.html.erb +0 -28
  137. data/app/views/checkout_stat_has_users/_form.html.erb +0 -15
  138. data/app/views/checkout_stat_has_users/edit.html.erb +0 -13
  139. data/app/views/checkout_stat_has_users/index.html.erb +0 -33
  140. data/app/views/checkout_stat_has_users/new.html.erb +0 -12
  141. data/app/views/checkout_stat_has_users/show.html.erb +0 -28
  142. data/app/views/checkout_types/_form.html.erb +0 -19
  143. data/app/views/checkout_types/edit.html.erb +0 -13
  144. data/app/views/checkout_types/index.html.erb +0 -50
  145. data/app/views/checkout_types/new.html.erb +0 -12
  146. data/app/views/checkout_types/show.html.erb +0 -38
  147. data/app/views/checkouts/_form.html.erb +0 -28
  148. data/app/views/checkouts/_index.html.erb +0 -23
  149. data/app/views/checkouts/_index_overdue.html.erb +0 -33
  150. data/app/views/checkouts/_index_user.html.erb +0 -44
  151. data/app/views/checkouts/_list.html.erb +0 -45
  152. data/app/views/checkouts/edit.html.erb +0 -51
  153. data/app/views/checkouts/index.atom.builder +0 -14
  154. data/app/views/checkouts/index.csv.erb +0 -4
  155. data/app/views/checkouts/index.html.erb +0 -11
  156. data/app/views/checkouts/index.ics.erb +0 -13
  157. data/app/views/checkouts/index.rss.builder +0 -38
  158. data/app/views/checkouts/new.html.erb +0 -20
  159. data/app/views/checkouts/show.html.erb +0 -35
  160. data/app/views/circulation_statuses/_form.html.erb +0 -19
  161. data/app/views/circulation_statuses/edit.html.erb +0 -13
  162. data/app/views/circulation_statuses/index.html.erb +0 -43
  163. data/app/views/circulation_statuses/new.html.erb +0 -12
  164. data/app/views/circulation_statuses/show.html.erb +0 -29
  165. data/app/views/item_has_use_restrictions/edit.html.erb +0 -27
  166. data/app/views/item_has_use_restrictions/index.html.erb +0 -32
  167. data/app/views/item_has_use_restrictions/new.html.erb +0 -25
  168. data/app/views/item_has_use_restrictions/show.html.erb +0 -29
  169. data/app/views/lending_policies/_form.html.erb +0 -41
  170. data/app/views/lending_policies/edit.html.erb +0 -13
  171. data/app/views/lending_policies/index.html.erb +0 -42
  172. data/app/views/lending_policies/new.html.erb +0 -12
  173. data/app/views/lending_policies/show.html.erb +0 -50
  174. data/app/views/manifestation_checkout_stats/_form.html.erb +0 -19
  175. data/app/views/manifestation_checkout_stats/edit.html.erb +0 -13
  176. data/app/views/manifestation_checkout_stats/index.html.erb +0 -35
  177. data/app/views/manifestation_checkout_stats/new.html.erb +0 -12
  178. data/app/views/manifestation_checkout_stats/show.csv.erb +0 -4
  179. data/app/views/manifestation_checkout_stats/show.html.erb +0 -55
  180. data/app/views/manifestation_reserve_stats/_form.html.erb +0 -19
  181. data/app/views/manifestation_reserve_stats/edit.html.erb +0 -13
  182. data/app/views/manifestation_reserve_stats/index.html.erb +0 -35
  183. data/app/views/manifestation_reserve_stats/new.html.erb +0 -12
  184. data/app/views/manifestation_reserve_stats/show.csv.erb +0 -4
  185. data/app/views/manifestation_reserve_stats/show.html.erb +0 -55
  186. data/app/views/reserve_stat_has_manifestations/_form.html.erb +0 -15
  187. data/app/views/reserve_stat_has_manifestations/edit.html.erb +0 -13
  188. data/app/views/reserve_stat_has_manifestations/index.html.erb +0 -33
  189. data/app/views/reserve_stat_has_manifestations/new.html.erb +0 -12
  190. data/app/views/reserve_stat_has_manifestations/show.html.erb +0 -28
  191. data/app/views/reserve_stat_has_users/_form.html.erb +0 -15
  192. data/app/views/reserve_stat_has_users/edit.html.erb +0 -13
  193. data/app/views/reserve_stat_has_users/index.html.erb +0 -33
  194. data/app/views/reserve_stat_has_users/new.html.erb +0 -12
  195. data/app/views/reserve_stat_has_users/show.html.erb +0 -28
  196. data/app/views/reserves/_form.html.erb +0 -49
  197. data/app/views/reserves/_new.html.erb +0 -44
  198. data/app/views/reserves/_new_user.html.erb +0 -50
  199. data/app/views/reserves/_title.html.erb +0 -19
  200. data/app/views/reserves/edit.html.erb +0 -42
  201. data/app/views/reserves/index.atom.builder +0 -14
  202. data/app/views/reserves/index.csv.erb +0 -4
  203. data/app/views/reserves/index.html.erb +0 -75
  204. data/app/views/reserves/index.rss.builder +0 -41
  205. data/app/views/reserves/new.html.erb +0 -5
  206. data/app/views/reserves/show.html.erb +0 -61
  207. data/app/views/use_restrictions/_form.html.erb +0 -19
  208. data/app/views/use_restrictions/edit.html.erb +0 -13
  209. data/app/views/use_restrictions/index.html.erb +0 -43
  210. data/app/views/use_restrictions/new.html.erb +0 -12
  211. data/app/views/use_restrictions/show.html.erb +0 -29
  212. data/app/views/user_checkout_stats/_form.html.erb +0 -19
  213. data/app/views/user_checkout_stats/edit.html.erb +0 -13
  214. data/app/views/user_checkout_stats/index.html.erb +0 -35
  215. data/app/views/user_checkout_stats/new.html.erb +0 -12
  216. data/app/views/user_checkout_stats/show.csv.erb +0 -4
  217. data/app/views/user_checkout_stats/show.html.erb +0 -55
  218. data/app/views/user_group_has_checkout_types/edit.html.erb +0 -63
  219. data/app/views/user_group_has_checkout_types/index.html.erb +0 -32
  220. data/app/views/user_group_has_checkout_types/new.html.erb +0 -62
  221. data/app/views/user_group_has_checkout_types/show.html.erb +0 -64
  222. data/app/views/user_reserve_stats/_form.html.erb +0 -19
  223. data/app/views/user_reserve_stats/edit.html.erb +0 -13
  224. data/app/views/user_reserve_stats/index.html.erb +0 -35
  225. data/app/views/user_reserve_stats/new.html.erb +0 -12
  226. data/app/views/user_reserve_stats/show.csv.erb +0 -4
  227. data/app/views/user_reserve_stats/show.html.erb +0 -54
  228. data/test/dummy/app/controllers/application_controller.rb +0 -3
  229. data/test/enju_message_test.rb +0 -7
  230. data/test/integration/navigation_test.rb +0 -10
  231. data/test/test_helper.rb +0 -10
@@ -0,0 +1,51 @@
1
+ en:
2
+ activerecord:
3
+ models:
4
+ message: Message
5
+ message_template: Message template
6
+ message_request: Message request
7
+
8
+ attributes:
9
+ message:
10
+ subject: Subject
11
+ body: Body
12
+ sender: Sender
13
+ receiver: Receiver
14
+ message_template:
15
+ status: Status
16
+ locale: Locale
17
+ title: Title
18
+ body: Body
19
+ position: Position
20
+ message_request:
21
+ sent_at: Sent at
22
+ deleted_at: Deleted at
23
+
24
+ message:
25
+ user_message: "%{login_name}'s messages"
26
+ sent_at: "Sent at"
27
+ inbox: "Inbox"
28
+ write: "Write"
29
+ outbox: "Outbox"
30
+ trash: "Trash"
31
+ recipient: "Recipient"
32
+ receiver: "Receiver"
33
+ sender: "Sender"
34
+ read: "Read"
35
+ unread: "Unread"
36
+ deleted: "Deleted"
37
+ send: "Send message"
38
+ reply: "Reply"
39
+ delete: "Delete"
40
+ sent_successfully: "Message was sent successfully."
41
+ no_new_message: "No new messages."
42
+ too_short: "Message is too short. The minimum length is %{count} characters."
43
+ too_long: "Message is too long. The maximum length is %{count} characters."
44
+ new_message_from_library: "New message arrived from %{library}"
45
+ messages_were_deleted: "Messages were deleted."
46
+ select_messages: "Select messages."
47
+ message_request:
48
+ not_sent: "Not sent"
49
+ sent: "Sent"
50
+ all: "All messages"
51
+
@@ -0,0 +1,51 @@
1
+ ja:
2
+ activerecord:
3
+ models:
4
+ message: メッセージ
5
+ message_template: メッセージテンプレート
6
+ message_request: メッセージの送信リクエスト
7
+
8
+ attributes:
9
+ message:
10
+ subject: 件名
11
+ body: 本文
12
+ sender: 差出人
13
+ receiver: 宛て先
14
+ message_template:
15
+ status: 状態
16
+ locale: 言語
17
+ title: タイトル
18
+ body: 本文
19
+ position: 位置
20
+ message_request:
21
+ sent_at: 送信時刻
22
+ deleted_at: 削除時刻
23
+
24
+ message:
25
+ user_message: "%{login_name} さんのメッセージ"
26
+ sent_at: "送信時刻"
27
+ inbox: "受信箱"
28
+ write: "メッセージを作成する"
29
+ outbox: "送信箱"
30
+ trash: "ごみ箱"
31
+ recipient: "宛て先"
32
+ receiver: "受信者"
33
+ sender: "送信者"
34
+ read: "既読"
35
+ unread: "未読"
36
+ deleted: "削除済み"
37
+ send: "メッセージを送信する"
38
+ reply: "メッセージに返信する"
39
+ delete: "メッセージを削除する"
40
+ sent_successfully: "メッセージは正しく送信されました。"
41
+ no_new_message: "新しいメッセージはありません。"
42
+ too_short: "メッセージが短すぎます。最小 %{count} 文字以上必要です。"
43
+ too_long: "メッセージが長すぎます。最大 %{count} 文字までです。"
44
+ new_message_from_library: "%{library} から新しいお知らせが届いています"
45
+ messages_were_deleted: "メッセージは削除されました。"
46
+ select_messages: "メッセージを選択してください。"
47
+ message_request:
48
+ not_sent: "送信待ち"
49
+ sent: "送信済み"
50
+ all: "全てのメッセージ"
51
+
@@ -1,3 +1,3 @@
1
1
  module EnjuMessage
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -0,0 +1,275 @@
1
+ require 'spec_helper'
2
+ require 'sunspot/rails/spec_helper'
3
+
4
+ describe MessageRequestsController do
5
+ fixtures :all
6
+ disconnect_sunspot
7
+
8
+ describe "GET index" do
9
+ describe "When logged in as Administrator" do
10
+ login_admin
11
+
12
+ it "assigns all message_requests as @message_requests" do
13
+ get :index
14
+ assigns(:message_requests).should eq(MessageRequest.not_sent.order('created_at DESC').page(1))
15
+ end
16
+ end
17
+
18
+ describe "When logged in as Librarian" do
19
+ login_librarian
20
+
21
+ it "assigns all message_requests as @message_requests" do
22
+ get :index
23
+ assigns(:message_requests).should eq(MessageRequest.not_sent.order('created_at DESC').page(1))
24
+ end
25
+ end
26
+
27
+ describe "When logged in as User" do
28
+ login_user
29
+
30
+ it "assigns all message_requests as @message_requests" do
31
+ get :index
32
+ assigns(:message_requests).should be_empty
33
+ end
34
+ end
35
+
36
+ describe "When not logged in" do
37
+ it "assigns all message_requests as @message_requests" do
38
+ get :index
39
+ assigns(:message_requests).should be_empty
40
+ end
41
+ end
42
+ end
43
+
44
+ describe "GET show" do
45
+ describe "When logged in as Administrator" do
46
+ login_admin
47
+
48
+ it "assigns the requested message_request as @message_request" do
49
+ message_request = FactoryGirl.create(:message_request)
50
+ get :show, :id => message_request.id
51
+ assigns(:message_request).should eq(message_request)
52
+ end
53
+ end
54
+
55
+ describe "When logged in as Librarian" do
56
+ login_librarian
57
+
58
+ it "assigns the requested message_request as @message_request" do
59
+ message_request = FactoryGirl.create(:message_request)
60
+ get :show, :id => message_request.id
61
+ assigns(:message_request).should eq(message_request)
62
+ end
63
+ end
64
+
65
+ describe "When logged in as User" do
66
+ login_user
67
+
68
+ it "assigns the requested message_request as @message_request" do
69
+ message_request = FactoryGirl.create(:message_request)
70
+ get :show, :id => message_request.id
71
+ assigns(:message_request).should eq(message_request)
72
+ end
73
+ end
74
+
75
+ describe "When not logged in" do
76
+ it "assigns the requested message_request as @message_request" do
77
+ message_request = FactoryGirl.create(:message_request)
78
+ get :show, :id => message_request.id
79
+ assigns(:message_request).should eq(message_request)
80
+ end
81
+ end
82
+ end
83
+
84
+ describe "GET edit" do
85
+ describe "When logged in as Administrator" do
86
+ login_admin
87
+
88
+ it "assigns the requested message_request as @message_request" do
89
+ message_request = FactoryGirl.create(:message_request)
90
+ get :edit, :id => message_request.id
91
+ assigns(:message_request).should eq(message_request)
92
+ end
93
+ end
94
+
95
+ describe "When logged in as Librarian" do
96
+ login_librarian
97
+
98
+ it "assigns the requested message_request as @message_request" do
99
+ message_request = FactoryGirl.create(:message_request)
100
+ get :edit, :id => message_request.id
101
+ assigns(:message_request).should eq(message_request)
102
+ end
103
+ end
104
+
105
+ describe "When logged in as User" do
106
+ login_user
107
+
108
+ it "assigns the requested message_request as @message_request" do
109
+ message_request = FactoryGirl.create(:message_request)
110
+ get :edit, :id => message_request.id
111
+ response.should be_forbidden
112
+ end
113
+ end
114
+
115
+ describe "When not logged in" do
116
+ it "should not assign the requested message_request as @message_request" do
117
+ message_request = FactoryGirl.create(:message_request)
118
+ get :edit, :id => message_request.id
119
+ response.should redirect_to(new_user_session_url)
120
+ end
121
+ end
122
+ end
123
+
124
+ describe "PUT update" do
125
+ before(:each) do
126
+ @message_request = FactoryGirl.create(:message_request)
127
+ @attrs = FactoryGirl.attributes_for(:message_request)
128
+ @invalid_attrs = {:sender_id => ''}
129
+ end
130
+
131
+ describe "When logged in as Administrator" do
132
+ login_admin
133
+
134
+ describe "with valid params" do
135
+ it "updates the requested message_request" do
136
+ put :update, :id => @message_request.id, :message_request => @attrs
137
+ end
138
+
139
+ it "assigns the requested message_request as @message_request" do
140
+ put :update, :id => @message_request.id, :message_request => @attrs
141
+ assigns(:message_request).should eq(@message_request)
142
+ end
143
+ end
144
+
145
+ describe "with invalid params" do
146
+ it "assigns the requested message_request as @message_request" do
147
+ put :update, :id => @message_request.id, :message_request => @invalid_attrs
148
+ response.should render_template("edit")
149
+ end
150
+ end
151
+ end
152
+
153
+ describe "When logged in as Librarian" do
154
+ login_librarian
155
+
156
+ describe "with valid params" do
157
+ it "updates the requested message_request" do
158
+ put :update, :id => @message_request.id, :message_request => @attrs
159
+ end
160
+
161
+ it "assigns the requested message_request as @message_request" do
162
+ put :update, :id => @message_request.id, :message_request => @attrs
163
+ assigns(:message_request).should eq(@message_request)
164
+ response.should redirect_to(@message_request)
165
+ end
166
+ end
167
+
168
+ describe "with invalid params" do
169
+ it "assigns the requested message_request as @message_request" do
170
+ put :update, :id => @message_request.id, :message_request => @invalid_attrs
171
+ response.should render_template("edit")
172
+ end
173
+ end
174
+ end
175
+
176
+ describe "When logged in as User" do
177
+ login_user
178
+
179
+ describe "with valid params" do
180
+ it "updates the requested message_request" do
181
+ put :update, :id => @message_request.id, :message_request => @attrs
182
+ end
183
+
184
+ it "assigns the requested message_request as @message_request" do
185
+ put :update, :id => @message_request.id, :message_request => @attrs
186
+ assigns(:message_request).should eq(@message_request)
187
+ response.should be_forbidden
188
+ end
189
+ end
190
+
191
+ describe "with invalid params" do
192
+ it "assigns the requested message_request as @message_request" do
193
+ put :update, :id => @message_request.id, :message_request => @invalid_attrs
194
+ response.should be_forbidden
195
+ end
196
+ end
197
+ end
198
+
199
+ describe "When not logged in" do
200
+ describe "with valid params" do
201
+ it "updates the requested message_request" do
202
+ put :update, :id => @message_request.id, :message_request => @attrs
203
+ end
204
+
205
+ it "should be forbidden" do
206
+ put :update, :id => @message_request.id, :message_request => @attrs
207
+ response.should redirect_to(new_user_session_url)
208
+ end
209
+ end
210
+
211
+ describe "with invalid params" do
212
+ it "assigns the requested message_request as @message_request" do
213
+ put :update, :id => @message_request.id, :message_request => @invalid_attrs
214
+ response.should redirect_to(new_user_session_url)
215
+ end
216
+ end
217
+ end
218
+ end
219
+
220
+ describe "DELETE destroy" do
221
+ before(:each) do
222
+ @message_request = FactoryGirl.create(:message_request)
223
+ end
224
+
225
+ describe "When logged in as Administrator" do
226
+ login_admin
227
+
228
+ it "destroys the requested message_request" do
229
+ delete :destroy, :id => @message_request.id
230
+ end
231
+
232
+ it "redirects to the harvesting_requests list" do
233
+ delete :destroy, :id => @message_request.id
234
+ response.should redirect_to(message_requests_url)
235
+ end
236
+ end
237
+
238
+ describe "When logged in as Librarian" do
239
+ login_librarian
240
+
241
+ it "destroys the requested message_request" do
242
+ delete :destroy, :id => @message_request.id
243
+ end
244
+
245
+ it "redirects to the harvesting_requests list" do
246
+ delete :destroy, :id => @message_request.id
247
+ response.should redirect_to(message_requests_url)
248
+ end
249
+ end
250
+
251
+ describe "When logged in as User" do
252
+ login_user
253
+
254
+ it "destroys the requested message_request" do
255
+ delete :destroy, :id => @message_request.id
256
+ end
257
+
258
+ it "should be forbidden" do
259
+ delete :destroy, :id => @message_request.id
260
+ response.should be_forbidden
261
+ end
262
+ end
263
+
264
+ describe "When not logged in" do
265
+ it "destroys the requested message_request" do
266
+ delete :destroy, :id => @message_request.id
267
+ end
268
+
269
+ it "should be forbidden" do
270
+ delete :destroy, :id => @message_request.id
271
+ response.should redirect_to(new_user_session_url)
272
+ end
273
+ end
274
+ end
275
+ end