enju_message 0.0.6 → 0.0.7

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 (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