enju_resource_merge 0.1.0.pre7 → 0.1.0.pre8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/patron_merge_lists_controller.rb +37 -37
  3. data/app/controllers/patron_merges_controller.rb +35 -35
  4. data/app/controllers/series_statement_merge_lists_controller.rb +0 -1
  5. data/app/models/agent_merge.rb +21 -0
  6. data/app/models/agent_merge_list.rb +29 -0
  7. data/app/models/enju_resource_merge/ability.rb +4 -4
  8. data/app/models/series_statement_merge_list.rb +0 -18
  9. data/app/views/{patron_merge_lists → agent_merge_lists}/_form.html.erb +1 -1
  10. data/app/views/{patron_merge_lists → agent_merge_lists}/edit.html.erb +3 -3
  11. data/app/views/agent_merge_lists/index.html.erb +33 -0
  12. data/app/views/{patron_merge_lists → agent_merge_lists}/new.html.erb +1 -1
  13. data/app/views/agent_merge_lists/show.html.erb +31 -0
  14. data/app/views/agent_merges/edit.html.erb +31 -0
  15. data/app/views/agent_merges/index.html.erb +32 -0
  16. data/app/views/agent_merges/new.html.erb +39 -0
  17. data/app/views/agent_merges/show.html.erb +25 -0
  18. data/config/routes.rb +7 -7
  19. data/db/migrate/133_create_agent_merges.rb +15 -0
  20. data/db/migrate/134_create_agent_merge_lists.rb +13 -0
  21. data/lib/enju_resource_merge/version.rb +1 -1
  22. data/lib/enju_resource_merge.rb +2 -2
  23. data/spec/controllers/agent_merge_lists_controller_spec.rb +456 -0
  24. data/spec/controllers/agent_merges_controller_spec.rb +437 -0
  25. data/spec/dummy/app/controllers/application_controller.rb +3 -68
  26. data/spec/dummy/app/models/ability.rb +4 -4
  27. data/spec/dummy/app/models/user.rb +5 -25
  28. data/spec/dummy/config/application.rb +1 -1
  29. data/spec/dummy/db/development.sqlite3 +0 -0
  30. data/spec/dummy/db/migrate/{001_create_patrons.rb → 001_create_agents.rb} +8 -8
  31. data/spec/dummy/db/migrate/012_create_owns.rb +2 -2
  32. data/spec/dummy/db/migrate/015_create_creates.rb +2 -2
  33. data/spec/dummy/db/migrate/047_create_produces.rb +2 -2
  34. data/spec/dummy/db/migrate/059_create_libraries.rb +28 -0
  35. data/spec/dummy/db/migrate/069_create_shelves.rb +15 -0
  36. data/spec/dummy/db/migrate/077_create_user_groups.rb +16 -0
  37. data/spec/dummy/db/migrate/080_create_library_groups.rb +18 -0
  38. data/spec/dummy/db/migrate/120_create_baskets.rb +12 -0
  39. data/spec/dummy/db/migrate/124_create_bookstores.rb +17 -0
  40. data/spec/dummy/db/migrate/125_create_donates.rb +2 -2
  41. data/spec/dummy/db/migrate/{20090812151902_create_patron_relationship_types.rb → 130_create_request_status_types.rb} +2 -2
  42. data/spec/dummy/db/migrate/131_create_request_types.rb +12 -0
  43. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +2 -2
  44. data/spec/dummy/db/migrate/{20080905191442_create_patron_types.rb → 20080905191442_create_agent_types.rb} +2 -2
  45. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +17 -0
  46. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +14 -0
  47. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +17 -0
  48. data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +22 -0
  49. data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +12 -0
  50. data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +2 -2
  51. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
  52. data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +9 -0
  53. data/spec/dummy/db/migrate/20100606073747_create_agent_relationships.rb +13 -0
  54. data/spec/dummy/db/migrate/20100814091104_add_position_to_agent_relationship.rb +11 -0
  55. data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +12 -0
  56. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
  57. data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb +11 -0
  58. data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +11 -0
  59. data/spec/dummy/db/migrate/20111201155456_create_users.rb +0 -5
  60. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +5 -0
  61. data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +12 -0
  62. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +14 -0
  63. data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +5 -0
  64. data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +5 -0
  65. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +5 -0
  66. data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +6 -0
  67. data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +5 -0
  68. data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +26 -0
  69. data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +6 -0
  70. data/spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb +5 -0
  71. data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +7 -0
  72. data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +5 -0
  73. data/spec/dummy/db/schema.rb +352 -154
  74. data/spec/dummy/db/test.sqlite3 +0 -0
  75. data/spec/factories/{patron.rb → agent.rb} +2 -2
  76. data/spec/factories/agent_merge.rb +6 -0
  77. data/spec/factories/agent_merge_list.rb +5 -0
  78. data/spec/factories/library.rb +13 -0
  79. data/spec/factories/user.rb +34 -6
  80. data/spec/fixtures/{patron_merge_lists.yml → agent_merge_lists.yml} +4 -4
  81. data/spec/fixtures/agent_merges.yml +31 -0
  82. data/spec/fixtures/{patron_types.yml → agent_types.yml} +4 -4
  83. data/spec/fixtures/{patrons.yml → agents.yml} +46 -46
  84. data/spec/fixtures/libraries.yml +102 -0
  85. data/spec/fixtures/library_groups.yml +34 -0
  86. data/spec/fixtures/series_statements.yml +23 -22
  87. data/spec/fixtures/shelves.yml +47 -0
  88. data/spec/fixtures/user_groups.yml +45 -0
  89. data/spec/models/{patron_merge_list_spec.rb → agent_merge_list_spec.rb} +2 -2
  90. data/spec/models/agent_merge_spec.rb +19 -0
  91. data/spec/models/series_statement_merge_list_spec.rb +0 -5
  92. metadata +136 -72
  93. data/app/models/patron_merge.rb +0 -21
  94. data/app/models/patron_merge_list.rb +0 -29
  95. data/app/views/patron_merge_lists/index.html.erb +0 -33
  96. data/app/views/patron_merge_lists/show.html.erb +0 -31
  97. data/app/views/patron_merges/edit.html.erb +0 -31
  98. data/app/views/patron_merges/index.html.erb +0 -32
  99. data/app/views/patron_merges/new.html.erb +0 -39
  100. data/app/views/patron_merges/show.html.erb +0 -25
  101. data/db/migrate/133_create_patron_merges.rb +0 -15
  102. data/db/migrate/134_create_patron_merge_lists.rb +0 -13
  103. data/spec/controllers/patron_merge_lists_controller_spec.rb +0 -456
  104. data/spec/controllers/patron_merges_controller_spec.rb +0 -437
  105. data/spec/dummy/app/models/role.rb +0 -47
  106. data/spec/dummy/app/models/user_has_role.rb +0 -4
  107. data/spec/dummy/db/migrate/20081028083142_create_patron_import_files.rb +0 -22
  108. data/spec/dummy/db/migrate/20100606073747_create_patron_relationships.rb +0 -13
  109. data/spec/dummy/db/migrate/20100814091104_add_position_to_patron_relationship.rb +0 -11
  110. data/spec/dummy/db/migrate/20100925074559_create_patron_import_results.rb +0 -12
  111. data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_patron.rb +0 -11
  112. data/spec/dummy/db/migrate/20110918161853_rename_series_statement_manifestation_id_to_root_manifestation_id.rb +0 -13
  113. data/spec/dummy/db/migrate/20111009183423_add_ndc_to_manifestation.rb +0 -9
  114. data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_patron_import_file.rb +0 -5
  115. data/spec/dummy/db/migrate/20120413170720_add_error_message_to_patron_import_file.rb +0 -5
  116. data/spec/dummy/db/migrate/20120415060323_rename_patron_import_file_imported_at_to_executed_at.rb +0 -9
  117. data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_patron_import_file.rb +0 -5
  118. data/spec/factories/patron_merge.rb +0 -6
  119. data/spec/factories/patron_merge_list.rb +0 -5
  120. data/spec/fixtures/patron_merges.yml +0 -31
  121. data/spec/models/patron_merge_spec.rb +0 -19
@@ -0,0 +1,13 @@
1
+ class CreateAgentMergeLists < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :agent_merge_lists do |t|
4
+ t.string :title
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+
10
+ def self.down
11
+ drop_table :agent_merge_lists
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module EnjuResourceMerge
2
- VERSION = "0.1.0.pre7"
2
+ VERSION = "0.1.0.pre8"
3
3
  end
@@ -14,8 +14,8 @@ module EnjuResourceMerge
14
14
  module InstanceMethods
15
15
  private
16
16
 
17
- def get_patron_merge_list
18
- @patron_merge_list = PatronMergeList.find(params[:patron_merge_list_id]) if params[:patron_merge_list_id]
17
+ def get_agent_merge_list
18
+ @agent_merge_list = AgentMergeList.find(params[:agent_merge_list_id]) if params[:agent_merge_list_id]
19
19
  end
20
20
 
21
21
  def get_series_statement_merge_list
@@ -0,0 +1,456 @@
1
+ require 'spec_helper'
2
+ require 'sunspot/rails/spec_helper'
3
+
4
+ describe AgentMergeListsController 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 agent_merge_lists as @agent_merge_lists" do
13
+ get :index
14
+ assigns(:agent_merge_lists).should eq(AgentMergeList.page(1))
15
+ end
16
+ end
17
+
18
+ describe "When logged in as Librarian" do
19
+ login_librarian
20
+
21
+ it "assigns all agent_merge_lists as @agent_merge_lists" do
22
+ get :index
23
+ assigns(:agent_merge_lists).should eq(AgentMergeList.page(1))
24
+ end
25
+ end
26
+
27
+ describe "When logged in as User" do
28
+ login_user
29
+
30
+ it "assigns empty as @agent_merge_lists" do
31
+ get :index
32
+ assigns(:agent_merge_lists).should be_empty
33
+ end
34
+ end
35
+
36
+ describe "When not logged in" do
37
+ it "assigns empty as @agent_merge_lists" do
38
+ get :index
39
+ assigns(:agent_merge_lists).should be_empty
40
+ end
41
+ end
42
+ end
43
+
44
+ describe "GET show" do
45
+ before(:each) do
46
+ @agent_merge_list = FactoryGirl.create(:agent_merge_list)
47
+ end
48
+
49
+ describe "When logged in as Administrator" do
50
+ login_admin
51
+
52
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
53
+ get :show, :id => @agent_merge_list.id
54
+ assigns(:agent_merge_list).should eq(@agent_merge_list)
55
+ response.should be_success
56
+ end
57
+ end
58
+
59
+ describe "When logged in as Librarian" do
60
+ login_librarian
61
+
62
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
63
+ get :show, :id => @agent_merge_list.id
64
+ assigns(:agent_merge_list).should eq(@agent_merge_list)
65
+ response.should be_success
66
+ end
67
+ end
68
+
69
+ describe "When logged in as User" do
70
+ login_user
71
+
72
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
73
+ get :show, :id => @agent_merge_list.id
74
+ assigns(:agent_merge_list).should eq(@agent_merge_list)
75
+ response.should be_forbidden
76
+ end
77
+ end
78
+
79
+ describe "When not logged in" do
80
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
81
+ get :show, :id => @agent_merge_list.id
82
+ assigns(:agent_merge_list).should eq(@agent_merge_list)
83
+ response.should redirect_to new_user_session_url
84
+ end
85
+ end
86
+ end
87
+
88
+ describe "GET new" do
89
+ describe "When logged in as Administrator" do
90
+ login_admin
91
+
92
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
93
+ get :new
94
+ assigns(:agent_merge_list).should_not be_valid
95
+ end
96
+ end
97
+
98
+ describe "When logged in as Librarian" do
99
+ login_librarian
100
+
101
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
102
+ get :new
103
+ assigns(:agent_merge_list).should_not be_valid
104
+ end
105
+ end
106
+
107
+ describe "When logged in as User" do
108
+ login_user
109
+
110
+ it "should not assign the requested agent_merge_list as @agent_merge_list" do
111
+ get :new
112
+ assigns(:agent_merge_list).should_not be_valid
113
+ response.should be_forbidden
114
+ end
115
+ end
116
+
117
+ describe "When not logged in" do
118
+ it "should not assign the requested agent_merge_list as @agent_merge_list" do
119
+ get :new
120
+ assigns(:agent_merge_list).should_not be_valid
121
+ response.should redirect_to(new_user_session_url)
122
+ end
123
+ end
124
+ end
125
+
126
+ describe "GET edit" do
127
+ describe "When logged in as Administrator" do
128
+ login_admin
129
+
130
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
131
+ agent_merge_list = FactoryGirl.create(:agent_merge_list)
132
+ get :edit, :id => agent_merge_list.id
133
+ assigns(:agent_merge_list).should eq(agent_merge_list)
134
+ end
135
+ end
136
+
137
+ describe "When logged in as Librarian" do
138
+ login_librarian
139
+
140
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
141
+ agent_merge_list = FactoryGirl.create(:agent_merge_list)
142
+ get :edit, :id => agent_merge_list.id
143
+ assigns(:agent_merge_list).should eq(agent_merge_list)
144
+ end
145
+ end
146
+
147
+ describe "When logged in as User" do
148
+ login_user
149
+
150
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
151
+ agent_merge_list = FactoryGirl.create(:agent_merge_list)
152
+ get :edit, :id => agent_merge_list.id
153
+ response.should be_forbidden
154
+ end
155
+ end
156
+
157
+ describe "When not logged in" do
158
+ it "should not assign the requested agent_merge_list as @agent_merge_list" do
159
+ agent_merge_list = FactoryGirl.create(:agent_merge_list)
160
+ get :edit, :id => agent_merge_list.id
161
+ response.should redirect_to(new_user_session_url)
162
+ end
163
+ end
164
+ end
165
+
166
+ describe "POST create" do
167
+ before(:each) do
168
+ @attrs = FactoryGirl.attributes_for(:agent_merge_list)
169
+ @invalid_attrs = {:title => ''}
170
+ end
171
+
172
+ describe "When logged in as Administrator" do
173
+ login_admin
174
+
175
+ describe "with valid params" do
176
+ it "assigns a newly created agent_merge_list as @agent_merge_list" do
177
+ post :create, :agent_merge_list => @attrs
178
+ assigns(:agent_merge_list).should be_valid
179
+ end
180
+
181
+ it "redirects to the created agent_merge_list" do
182
+ post :create, :agent_merge_list => @attrs
183
+ response.should redirect_to(agent_merge_list_url(assigns(:agent_merge_list)))
184
+ end
185
+ end
186
+
187
+ describe "with invalid params" do
188
+ it "assigns a newly created but unsaved agent_merge_list as @agent_merge_list" do
189
+ post :create, :agent_merge_list => @invalid_attrs
190
+ assigns(:agent_merge_list).should_not be_valid
191
+ end
192
+
193
+ it "re-renders the 'new' template" do
194
+ post :create, :agent_merge_list => @invalid_attrs
195
+ response.should render_template("new")
196
+ end
197
+ end
198
+ end
199
+
200
+ describe "When logged in as Librarian" do
201
+ login_librarian
202
+
203
+ describe "with valid params" do
204
+ it "assigns a newly created agent_merge_list as @agent_merge_list" do
205
+ post :create, :agent_merge_list => @attrs
206
+ assigns(:agent_merge_list).should be_valid
207
+ end
208
+
209
+ it "redirects to the created agent_merge_list" do
210
+ post :create, :agent_merge_list => @attrs
211
+ response.should redirect_to(agent_merge_list_url(assigns(:agent_merge_list)))
212
+ end
213
+ end
214
+
215
+ describe "with invalid params" do
216
+ it "assigns a newly created but unsaved agent_merge_list as @agent_merge_list" do
217
+ post :create, :agent_merge_list => @invalid_attrs
218
+ assigns(:agent_merge_list).should_not be_valid
219
+ end
220
+
221
+ it "re-renders the 'new' template" do
222
+ post :create, :agent_merge_list => @invalid_attrs
223
+ response.should render_template("new")
224
+ end
225
+ end
226
+ end
227
+
228
+ describe "When logged in as User" do
229
+ login_user
230
+
231
+ describe "with valid params" do
232
+ it "assigns a newly created agent_merge_list as @agent_merge_list" do
233
+ post :create, :agent_merge_list => @attrs
234
+ assigns(:agent_merge_list).should be_valid
235
+ end
236
+
237
+ it "should be forbidden" do
238
+ post :create, :agent_merge_list => @attrs
239
+ response.should be_forbidden
240
+ end
241
+ end
242
+
243
+ describe "with invalid params" do
244
+ it "assigns a newly created but unsaved agent_merge_list as @agent_merge_list" do
245
+ post :create, :agent_merge_list => @invalid_attrs
246
+ assigns(:agent_merge_list).should_not be_valid
247
+ end
248
+
249
+ it "should be forbidden" do
250
+ post :create, :agent_merge_list => @invalid_attrs
251
+ response.should be_forbidden
252
+ end
253
+ end
254
+ end
255
+
256
+ describe "When not logged in" do
257
+ describe "with valid params" do
258
+ it "assigns a newly created agent_merge_list as @agent_merge_list" do
259
+ post :create, :agent_merge_list => @attrs
260
+ assigns(:agent_merge_list).should be_valid
261
+ end
262
+
263
+ it "should be forbidden" do
264
+ post :create, :agent_merge_list => @attrs
265
+ response.should redirect_to(new_user_session_url)
266
+ end
267
+ end
268
+
269
+ describe "with invalid params" do
270
+ it "assigns a newly created but unsaved agent_merge_list as @agent_merge_list" do
271
+ post :create, :agent_merge_list => @invalid_attrs
272
+ assigns(:agent_merge_list).should_not be_valid
273
+ end
274
+
275
+ it "should be forbidden" do
276
+ post :create, :agent_merge_list => @invalid_attrs
277
+ response.should redirect_to(new_user_session_url)
278
+ end
279
+ end
280
+ end
281
+ end
282
+
283
+ describe "PUT update" do
284
+ before(:each) do
285
+ @agent_merge_list = FactoryGirl.create(:agent_merge_list)
286
+ @attrs = FactoryGirl.attributes_for(:agent_merge_list)
287
+ @invalid_attrs = {:title => ''}
288
+ end
289
+
290
+ describe "When logged in as Administrator" do
291
+ login_admin
292
+
293
+ describe "with valid params" do
294
+ it "updates the requested agent_merge_list" do
295
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @attrs
296
+ end
297
+
298
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
299
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @attrs
300
+ assigns(:agent_merge_list).should eq(@agent_merge_list)
301
+ response.should redirect_to(@agent_merge_list)
302
+ end
303
+ end
304
+
305
+ describe "with invalid params" do
306
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
307
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @invalid_attrs
308
+ end
309
+
310
+ it "re-renders the 'edit' template" do
311
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @invalid_attrs
312
+ response.should render_template("edit")
313
+ end
314
+ end
315
+ end
316
+
317
+ describe "When logged in as Librarian" do
318
+ login_librarian
319
+
320
+ describe "with valid params" do
321
+ it "updates the requested agent_merge_list" do
322
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @attrs
323
+ end
324
+
325
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
326
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @attrs
327
+ assigns(:agent_merge_list).should eq(@agent_merge_list)
328
+ response.should redirect_to(@agent_merge_list)
329
+ end
330
+ end
331
+
332
+ describe "with invalid params" do
333
+ it "assigns the agent_merge_list as @agent_merge_list" do
334
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @invalid_attrs
335
+ assigns(:agent_merge_list).should_not be_valid
336
+ end
337
+
338
+ it "re-renders the 'edit' template" do
339
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @invalid_attrs
340
+ response.should render_template("edit")
341
+ end
342
+ end
343
+
344
+ it "should not merge agents without selected_agent_id" do
345
+ put :update, :id => agent_merge_lists(:agent_merge_list_00001).id, :mode => 'merge'
346
+ flash[:notice].should eq I18n.t('merge_list.specify_id', :model => I18n.t('activerecord.models.agent'))
347
+ response.should redirect_to agent_merge_list_url(assigns(:agent_merge_list))
348
+ end
349
+
350
+ it "should merge agents with selected_agent_idand merge_mode" do
351
+ put :update, :id => agent_merge_lists(:agent_merge_list_00001).id, :selected_agent_id => 3, :mode => 'merge'
352
+ flash[:notice].should eq I18n.t('merge_list.successfully_merged', :model => I18n.t('activerecord.models.agent'))
353
+ response.should redirect_to agent_merge_list_url(assigns(:agent_merge_list))
354
+ end
355
+ end
356
+
357
+ describe "When logged in as User" do
358
+ login_user
359
+
360
+ describe "with valid params" do
361
+ it "updates the requested agent_merge_list" do
362
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @attrs
363
+ end
364
+
365
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
366
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @attrs
367
+ assigns(:agent_merge_list).should eq(@agent_merge_list)
368
+ response.should be_forbidden
369
+ end
370
+ end
371
+
372
+ describe "with invalid params" do
373
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
374
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @invalid_attrs
375
+ response.should be_forbidden
376
+ end
377
+ end
378
+ end
379
+
380
+ describe "When not logged in" do
381
+ describe "with valid params" do
382
+ it "updates the requested agent_merge_list" do
383
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @attrs
384
+ end
385
+
386
+ it "should be forbidden" do
387
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @attrs
388
+ response.should redirect_to(new_user_session_url)
389
+ end
390
+ end
391
+
392
+ describe "with invalid params" do
393
+ it "assigns the requested agent_merge_list as @agent_merge_list" do
394
+ put :update, :id => @agent_merge_list.id, :agent_merge_list => @invalid_attrs
395
+ response.should redirect_to(new_user_session_url)
396
+ end
397
+ end
398
+ end
399
+ end
400
+
401
+ describe "DELETE destroy" do
402
+ before(:each) do
403
+ @agent_merge_list = FactoryGirl.create(:agent_merge_list)
404
+ end
405
+
406
+ describe "When logged in as Administrator" do
407
+ login_admin
408
+
409
+ it "destroys the requested agent_merge_list" do
410
+ delete :destroy, :id => @agent_merge_list.id
411
+ end
412
+
413
+ it "redirects to the agent_merge_lists list" do
414
+ delete :destroy, :id => @agent_merge_list.id
415
+ response.should redirect_to(agent_merge_lists_url)
416
+ end
417
+ end
418
+
419
+ describe "When logged in as Librarian" do
420
+ login_librarian
421
+
422
+ it "destroys the requested agent_merge_list" do
423
+ delete :destroy, :id => @agent_merge_list.id
424
+ end
425
+
426
+ it "redirects to the agent_merge_lists list" do
427
+ delete :destroy, :id => @agent_merge_list.id
428
+ response.should redirect_to(agent_merge_lists_url)
429
+ end
430
+ end
431
+
432
+ describe "When logged in as User" do
433
+ login_user
434
+
435
+ it "destroys the requested agent_merge_list" do
436
+ delete :destroy, :id => @agent_merge_list.id
437
+ end
438
+
439
+ it "should be forbidden" do
440
+ delete :destroy, :id => @agent_merge_list.id
441
+ response.should be_forbidden
442
+ end
443
+ end
444
+
445
+ describe "When not logged in" do
446
+ it "destroys the requested agent_merge_list" do
447
+ delete :destroy, :id => @agent_merge_list.id
448
+ end
449
+
450
+ it "should be forbidden" do
451
+ delete :destroy, :id => @agent_merge_list.id
452
+ response.should redirect_to(new_user_session_url)
453
+ end
454
+ end
455
+ end
456
+ end