autoforme 1.11.0 → 1.13.0

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.
data/spec/mtm_spec.rb DELETED
@@ -1,621 +0,0 @@
1
- require_relative 'spec_helper'
2
-
3
- describe AutoForme do
4
- before(:all) do
5
- db_setup(:artists=>[[:name, :string]], :albums=>[[:name, :string]], :albums_artists=>[[:album_id, :integer, {:table=>:albums}], [:artist_id, :integer, {:table=>:artists}]])
6
- model_setup(:Artist=>[:artists, [[:many_to_many, :albums]]], :Album=>[:albums, [[:many_to_many, :artists]]])
7
- end
8
- after(:all) do
9
- Object.send(:remove_const, :Album)
10
- Object.send(:remove_const, :Artist)
11
- end
12
-
13
- it "should not show MTM link if there are no many to many associations" do
14
- app_setup do
15
- model Artist
16
- model Album
17
- end
18
-
19
- visit("/Artist/browse")
20
- page.html.wont_include 'MTM'
21
- visit("/Artist/mtm_edit")
22
- page.html.must_include 'Unhandled Request'
23
- end
24
-
25
- it "should have working Model#associated_object_display_name" do
26
- mod = nil
27
- app_setup do
28
- model Artist
29
- model Album do
30
- mod = self
31
- end
32
- end
33
-
34
- mod.associated_object_display_name(:artist, nil, Artist.load(:name=>'a')).must_equal 'a'
35
- end
36
-
37
- it "should have Model#associated_object_display_name respect :name_method column option" do
38
- mod = nil
39
- app_setup do
40
- model Artist
41
- model Album do
42
- column_options :artist=>{:name_method=>:id}
43
- mod = self
44
- end
45
- end
46
-
47
- mod.associated_object_display_name(:artist, nil, Artist.load(:id=>1)).must_equal 1
48
- end
49
-
50
- it "should have Model#associated_object_display_name raise Error if not valid" do
51
- mod = nil
52
- app_setup do
53
- model Artist
54
- model Album do
55
- column_options :artist=>{:name_method=>Object.new}
56
- mod = self
57
- end
58
- end
59
-
60
- proc{mod.associated_object_display_name(:artist, nil, Artist.load(:name=>'a'))}.must_raise AutoForme::Error
61
- end
62
-
63
- it "should have basic many to many association editing working" do
64
- app_setup do
65
- model Artist do
66
- mtm_associations :albums
67
- end
68
- model Album
69
- end
70
-
71
- Artist.create(:name=>'Artist1')
72
- Album.create(:name=>'Album1')
73
- Album.create(:name=>'Album2')
74
- Album.create(:name=>'Album3')
75
-
76
- visit("/Artist/mtm_edit")
77
- page.title.must_equal 'Artist - Many To Many Edit'
78
- click_button "Edit"
79
- select("Artist1")
80
- click_button "Edit"
81
-
82
- find('h2').text.must_equal 'Edit Albums for Artist1'
83
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1", "Album2", "Album3"]
84
- page.all('select')[1].all('option').map{|s| s.text}.must_equal []
85
- select("Album1", :from=>"Associate With")
86
- click_button "Update"
87
- page.html.must_include 'Updated albums association for Artist'
88
- Artist.first.albums.map{|x| x.name}.must_equal %w'Album1'
89
-
90
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album2", "Album3"]
91
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["Album1"]
92
- select("Album2", :from=>"Associate With")
93
- select("Album3", :from=>"Associate With")
94
- select("Album1", :from=>"Disassociate From")
95
- click_button "Update"
96
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'Album2 Album3'
97
-
98
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1"]
99
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["Album2", "Album3"]
100
- end
101
-
102
- it "should have many to many association editing working with autocompletion" do
103
- app_setup do
104
- model Artist do
105
- mtm_associations :albums
106
- end
107
- model Album do
108
- autocomplete_options({})
109
- end
110
- end
111
-
112
- Artist.create(:name=>'Artist1')
113
- a1 = Album.create(:name=>'Album1')
114
- a2 = Album.create(:name=>'Album2')
115
- a3 = Album.create(:name=>'Album3')
116
-
117
- visit("/Artist/mtm_edit")
118
- select("Artist1")
119
- click_button "Edit"
120
-
121
- page.all('select')[0].all('option').map{|s| s.text}.must_equal []
122
- fill_in "Associate With", :with=>a1.id
123
- click_button "Update"
124
- page.html.must_include 'Updated albums association for Artist'
125
- Artist.first.albums.map{|x| x.name}.must_equal %w'Album1'
126
-
127
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1"]
128
- fill_in "Associate With", :with=>a2.id
129
- select("Album1", :from=>"Disassociate From")
130
- click_button "Update"
131
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'Album2'
132
-
133
- visit "/Artist/autocomplete/albums?type=association&q=Album"
134
- page.body.must_match(/#{a1.id} - Album1\n#{a2.id} - Album2\n#{a3.id} - Album3/m)
135
-
136
- visit "/Artist/autocomplete/albums?type=association&q=3"
137
- page.body.wont_match(/#{a1.id} - Album1\n#{a2.id} - Album2\n#{a3.id} - Album3/m)
138
- page.body.must_match(/#{a3.id} - Album3/m)
139
-
140
- visit "/Artist/autocomplete/albums?type=association&exclude=#{Artist.first.id}&q=Album"
141
- page.body.must_match(/#{a1.id} - Album1\n#{a3.id} - Album3/m)
142
-
143
- visit("/Artist/mtm_edit")
144
- select("Artist1")
145
- click_button "Edit"
146
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album2"]
147
- select("Album2", :from=>"Disassociate From")
148
- click_button "Update"
149
- Artist.first.refresh.albums.map{|x| x.name}.must_equal []
150
- page.all('select')[0].all('option').map{|s| s.text}.must_equal []
151
- end
152
-
153
- it "should have inline many to many association editing working" do
154
- app_setup do
155
- model Artist do
156
- inline_mtm_associations :albums
157
- end
158
- model Album
159
- end
160
-
161
- Artist.create(:name=>'Artist1')
162
- Album.create(:name=>'Album1')
163
- Album.create(:name=>'Album2')
164
- Album.create(:name=>'Album3')
165
-
166
- visit("/Artist/edit")
167
- select("Artist1")
168
- click_button "Edit"
169
- select 'Album1'
170
- click_button 'Add'
171
- page.html.must_include 'Updated albums association for Artist'
172
- Artist.first.albums.map{|x| x.name}.must_equal %w'Album1'
173
-
174
- select 'Album2'
175
- click_button 'Add'
176
- Artist.first.refresh.albums.map{|x| x.name}.sort.must_equal %w'Album1 Album2'
177
-
178
- click_button 'Remove', :match=>:first
179
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'Album2'
180
-
181
- select 'Album3'
182
- click_button 'Add'
183
- Artist.first.refresh.albums.map{|x| x.name}.sort.must_equal %w'Album2 Album3'
184
- end
185
-
186
- it "should have inline many to many association editing working with autocompletion" do
187
- app_setup do
188
- model Artist do
189
- inline_mtm_associations :albums
190
- end
191
- model Album do
192
- autocomplete_options({})
193
- end
194
- end
195
-
196
- Artist.create(:name=>'Artist1')
197
- a1 = Album.create(:name=>'Album1')
198
- a2 = Album.create(:name=>'Album2')
199
- a3 = Album.create(:name=>'Album3')
200
-
201
- visit("/Artist/edit")
202
- select("Artist1")
203
- click_button "Edit"
204
- fill_in 'Albums', :with=>a1.id.to_s
205
- click_button 'Add'
206
- page.html.must_include 'Updated albums association for Artist'
207
- Artist.first.albums.map{|x| x.name}.must_equal %w'Album1'
208
-
209
- fill_in 'Albums', :with=>a2.id.to_s
210
- click_button 'Add'
211
- Artist.first.refresh.albums.map{|x| x.name}.sort.must_equal %w'Album1 Album2'
212
-
213
- click_button 'Remove', :match=>:first
214
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'Album2'
215
-
216
- fill_in 'Albums', :with=>a3.id.to_s
217
- click_button 'Add'
218
- Artist.first.refresh.albums.map{|x| x.name}.sort.must_equal %w'Album2 Album3'
219
- end
220
-
221
- it "should have inline many to many association editing working with xhr" do
222
- app_setup do
223
- model Artist do
224
- inline_mtm_associations do |req|
225
- def req.xhr?; action_type == 'mtm_update' end
226
- :albums
227
- end
228
- end
229
- model Album
230
- end
231
-
232
- Artist.create(:name=>'Artist1')
233
- album = Album.create(:name=>'Album1')
234
-
235
- visit("/Artist/edit")
236
- select("Artist1")
237
- click_button "Edit"
238
- select 'Album1'
239
- click_button 'Add'
240
- Artist.first.albums.map{|x| x.name}.must_equal %w'Album1'
241
-
242
- click_button 'Remove'
243
- Artist.first.refresh.albums.map{|x| x.name}.must_equal []
244
- page.body.must_equal "<option value=\"#{album.id}\">Album1</option>"
245
- end
246
-
247
- it "should have working many to many association links on show and edit pages" do
248
- app_setup do
249
- model Artist do
250
- mtm_associations :albums
251
- association_links :all_except_mtm
252
- end
253
- model Album do
254
- mtm_associations [:artists]
255
- association_links :all
256
- end
257
- end
258
-
259
- visit("/Artist/new")
260
- fill_in 'Name', :with=>'Artist1'
261
- click_button 'Create'
262
- click_link 'Edit'
263
- select 'Artist1'
264
- click_button 'Edit'
265
- page.html.wont_include 'Albums'
266
-
267
- visit("/Album/new")
268
- fill_in 'Name', :with=>'Album1'
269
- click_button 'Create'
270
- click_link 'Edit'
271
- select 'Album1'
272
- click_button 'Edit'
273
- click_link 'associate'
274
- select("Artist1", :from=>"Associate With")
275
- click_button 'Update'
276
- click_link 'Show'
277
- select 'Album1'
278
- click_button 'Show'
279
- click_link 'Artist1'
280
- page.current_path.must_match %r{Artist/show/\d+}
281
- page.html.wont_include 'Albums'
282
- end
283
-
284
- it "should have many to many association editing working when associated class is not using autoforme" do
285
- app_setup do
286
- model Artist do
287
- mtm_associations [:albums]
288
- end
289
- end
290
-
291
- Artist.create(:name=>'Artist1')
292
- Album.create(:name=>'Album1')
293
- Album.create(:name=>'Album2')
294
- Album.create(:name=>'Album3')
295
-
296
- visit("/Artist/mtm_edit")
297
- select("Artist1")
298
- click_button "Edit"
299
-
300
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1", "Album2", "Album3"]
301
- page.all('select')[1].all('option').map{|s| s.text}.must_equal []
302
- select("Album1", :from=>"Associate With")
303
- click_button "Update"
304
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'Album1'
305
-
306
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album2", "Album3"]
307
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["Album1"]
308
- select("Album2", :from=>"Associate With")
309
- select("Album3", :from=>"Associate With")
310
- select("Album1", :from=>"Disassociate From")
311
- click_button "Update"
312
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'Album2 Album3'
313
-
314
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1"]
315
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["Album2", "Album3"]
316
- end
317
-
318
- it "should use filter/order from associated class" do
319
- app_setup do
320
- model Artist do
321
- mtm_associations :all
322
- end
323
- model Album do
324
- filter{|ds, req| ds.where(:name=>'A'..'M')}
325
- order :name
326
- end
327
- end
328
-
329
- Artist.create(:name=>'Artist1')
330
- Album.create(:name=>'E1')
331
- Album.create(:name=>'B1')
332
- Album.create(:name=>'O1')
333
-
334
- visit("/Artist/mtm_edit")
335
- select("Artist1")
336
- click_button "Edit"
337
-
338
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["B1", "E1"]
339
- page.all('select')[1].all('option').map{|s| s.text}.must_equal []
340
- select("E1", :from=>"Associate With")
341
- click_button "Update"
342
- Artist.first.albums.map{|x| x.name}.must_equal %w'E1'
343
-
344
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["B1"]
345
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["E1"]
346
- select("B1", :from=>"Associate With")
347
- select("E1", :from=>"Disassociate From")
348
- click_button "Update"
349
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'B1'
350
-
351
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["E1"]
352
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["B1"]
353
-
354
- select("B1", :from=>"Disassociate From")
355
- Album.where(:name=>'B1').update(:name=>'Z1')
356
- proc{click_button "Update"}.must_raise(Sequel::NoMatchingRow)
357
-
358
- visit('/Artist/mtm_edit')
359
- select("Artist1")
360
- click_button "Edit"
361
- select("E1", :from=>"Associate With")
362
- Album.where(:name=>'E1').update(:name=>'Y1')
363
- proc{click_button "Update"}.must_raise(Sequel::NoMatchingRow)
364
-
365
- visit('/Artist/mtm_edit')
366
- select("Artist1")
367
- click_button "Edit"
368
- page.all('select')[0].all('option').map{|s| s.text}.must_equal []
369
- page.all('select')[1].all('option').map{|s| s.text}.must_equal []
370
- end
371
-
372
- it "should support column options on mtm_edit page" do
373
- app_setup do
374
- model Artist do
375
- mtm_associations :albums
376
- column_options :albums=>{:as=>:checkbox, :remove=>{:name_method=>proc{|obj| obj.name * 2}}}
377
- end
378
- model Album do
379
- display_name{|obj, req| obj.name + "2"}
380
- end
381
- end
382
-
383
- Artist.create(:name=>'Artist1')
384
- Album.create(:name=>'Album1')
385
- Album.create(:name=>'Album2')
386
- Album.create(:name=>'Album3')
387
-
388
- visit("/Artist/mtm_edit")
389
- select("Artist1")
390
- click_button "Edit"
391
-
392
- check "Album12"
393
- click_button "Update"
394
- Artist.first.albums.map{|x| x.name}.must_equal %w'Album1'
395
-
396
- check "Album1Album1"
397
- check "Album22"
398
- check "Album32"
399
- click_button "Update"
400
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'Album2 Album3'
401
-
402
- check "Album12"
403
- check "Album2Album2"
404
- check "Album3Album3"
405
- end
406
- end
407
-
408
- describe AutoForme do
409
- before(:all) do
410
- db_setup(:artists=>proc{primary_key :artist_id; String :name}, :albums=>[[:name, :string]], :albums_artists=>[[:album_id, :integer, {:table=>:albums}], [:artist_id, :integer, {:table=>:artists}]])
411
- model_setup(:Artist=>[:artists, [[:many_to_many, :albums]]], :Album=>[:albums, [[:many_to_many, :artists]]])
412
- end
413
- after(:all) do
414
- Object.send(:remove_const, :Album)
415
- Object.send(:remove_const, :Artist)
416
- end
417
-
418
- it "should have basic many to many association editing working" do
419
- app_setup do
420
- model Artist do
421
- mtm_associations :albums
422
- end
423
- model Album
424
- end
425
-
426
- Artist.create(:name=>'Artist1')
427
- Album.create(:name=>'Album1')
428
- Album.create(:name=>'Album2')
429
- Album.create(:name=>'Album3')
430
-
431
- visit("/Artist/mtm_edit")
432
- page.title.must_equal 'Artist - Many To Many Edit'
433
- click_button "Edit"
434
- select("Artist1")
435
- click_button "Edit"
436
-
437
- find('h2').text.must_equal 'Edit Albums for Artist1'
438
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1", "Album2", "Album3"]
439
- page.all('select')[1].all('option').map{|s| s.text}.must_equal []
440
- select("Album1", :from=>"Associate With")
441
- click_button "Update"
442
- page.html.must_include 'Updated albums association for Artist'
443
- Artist.first.albums.map{|x| x.name}.must_equal %w'Album1'
444
-
445
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album2", "Album3"]
446
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["Album1"]
447
- select("Album2", :from=>"Associate With")
448
- select("Album3", :from=>"Associate With")
449
- select("Album1", :from=>"Disassociate From")
450
- click_button "Update"
451
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'Album2 Album3'
452
-
453
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1"]
454
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["Album2", "Album3"]
455
- end
456
-
457
- end
458
-
459
- describe AutoForme do
460
- before(:all) do
461
- db_setup(:artists=>[[:name, :string]], :albums=>[[:name, :string]], :albums_artists=>[[:album_id, :integer, {:table=>:albums}], [:artist_id, :integer, {:table=>:artists}]])
462
- model_setup(:Artist=>[:artists, [[:many_to_many, :albums]], [[:many_to_many, :other_albums, {:clone=>:albums}]]], :Album=>[:albums, [[:many_to_many, :artists]]])
463
- end
464
- after(:all) do
465
- Object.send(:remove_const, :Album)
466
- Object.send(:remove_const, :Artist)
467
- end
468
-
469
- it "should have basic many to many association editing working" do
470
- app_setup do
471
- model Artist do
472
- mtm_associations [:albums, :other_albums]
473
- end
474
- model Album
475
- end
476
-
477
- Artist.create(:name=>'Artist1')
478
- Album.create(:name=>'Album1')
479
- Album.create(:name=>'Album2')
480
- Album.create(:name=>'Album3')
481
-
482
- visit("/Artist/mtm_edit")
483
- page.title.must_equal 'Artist - Many To Many Edit'
484
- select("Artist1")
485
- click_button "Edit"
486
-
487
- select('albums')
488
- click_button "Edit"
489
-
490
- find('h2').text.must_equal 'Edit Albums for Artist1'
491
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1", "Album2", "Album3"]
492
- page.all('select')[1].all('option').map{|s| s.text}.must_equal []
493
- select("Album1", :from=>"Associate With")
494
- click_button "Update"
495
- page.html.must_include 'Updated albums association for Artist'
496
- Artist.first.albums.map{|x| x.name}.must_equal %w'Album1'
497
-
498
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album2", "Album3"]
499
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["Album1"]
500
- select("Album2", :from=>"Associate With")
501
- select("Album3", :from=>"Associate With")
502
- select("Album1", :from=>"Disassociate From")
503
- click_button "Update"
504
- Artist.first.refresh.albums.map{|x| x.name}.must_equal %w'Album2 Album3'
505
-
506
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1"]
507
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["Album2", "Album3"]
508
- end
509
- end
510
-
511
- describe AutoForme do
512
- before(:all) do
513
- db_setup(:artists=>[[:name, :string]], :albums=>[[:name, :string]], :albums_artists=>proc{column :album_id, :integer, :table=>:albums; column :artist_id, :integer, :table=>:artists; primary_key [:album_id, :artist_id]})
514
- model_setup(:Artist=>[:artists, [[:many_to_many, :albums]]], :Album=>[:albums, [[:many_to_many, :artists]]])
515
- end
516
- after(:all) do
517
- Object.send(:remove_const, :Album)
518
- Object.send(:remove_const, :Artist)
519
- end
520
-
521
- it "should handle unique constraint violation errors when adding associated objects" do
522
- app_setup do
523
- model Artist do
524
- mtm_associations :albums
525
- end
526
- model Album
527
- end
528
-
529
- artist = Artist.create(:name=>'Artist1')
530
- album = Album.create(:name=>'Album1')
531
-
532
- visit("/Artist/mtm_edit")
533
- page.title.must_equal 'Artist - Many To Many Edit'
534
- select("Artist1")
535
- click_button "Edit"
536
-
537
- find('h2').text.must_equal 'Edit Albums for Artist1'
538
- page.all('select')[0].all('option').map{|s| s.text}.must_equal ["Album1"]
539
- page.all('select')[1].all('option').map{|s| s.text}.must_equal []
540
- select("Album1", :from=>"Associate With")
541
- artist.add_album(album)
542
- click_button "Update"
543
- page.html.must_include 'Updated albums association for Artist'
544
- Artist.first.albums.map{|x| x.name}.must_equal %w'Album1'
545
- end
546
-
547
- it "should handle unique constraint violation errors when adding associated objects" do
548
- app_setup do
549
- model Artist do
550
- mtm_associations :albums
551
- end
552
- model Album
553
- end
554
-
555
- artist = Artist.create(:name=>'Artist1')
556
- album = Album.create(:name=>'Album1')
557
- artist.add_album(album)
558
-
559
- visit("/Artist/mtm_edit")
560
- page.title.must_equal 'Artist - Many To Many Edit'
561
- select("Artist1")
562
- click_button "Edit"
563
-
564
- find('h2').text.must_equal 'Edit Albums for Artist1'
565
- page.all('select')[0].all('option').map{|s| s.text}.must_equal []
566
- page.all('select')[1].all('option').map{|s| s.text}.must_equal ["Album1"]
567
- select("Album1", :from=>"Disassociate From")
568
- artist.remove_album(album)
569
- click_button "Update"
570
- page.html.must_include 'Updated albums association for Artist'
571
- Artist.first.albums.map{|x| x.name}.must_equal []
572
- end
573
- end
574
-
575
- describe AutoForme do
576
- before(:all) do
577
- db_setup(:artists=>[[:name, :string]], :albums=>[[:name, :string]], :albums_artists=>[[:album_id, :integer, {:table=>:albums}], [:artist_id, :integer, {:table=>:artists}]])
578
- model_setup(:Artist=>[:artists, [[:many_to_many, :albums, :read_only=>true]]], :Album=>[:albums, [[:many_to_many, :artists, :read_only=>true]]])
579
- end
580
- after(:all) do
581
- Object.send(:remove_const, :Album)
582
- Object.send(:remove_const, :Artist)
583
- end
584
-
585
- it "should not automatically setup mtm support for read-only associations" do
586
- app_setup do
587
- model Artist do
588
- mtm_associations :all
589
- association_links :all
590
- end
591
- model Album do
592
- mtm_associations :all
593
- association_links :all
594
- end
595
- end
596
-
597
- visit("/Artist/new")
598
- page.html.wont_include 'Artist/mtm_edit'
599
- fill_in 'Name', :with=>'Artist1'
600
- click_button 'Create'
601
- click_link 'Edit'
602
- select 'Artist1'
603
- click_button 'Edit'
604
- page.html.must_include 'Albums'
605
- page.html.wont_include '>associate<'
606
- visit("/Artist/mtm_edit")
607
- page.html.must_include 'Unhandled Request'
608
-
609
- visit("/Album/new")
610
- page.html.wont_include 'Album/mtm_edit'
611
- fill_in 'Name', :with=>'Album1'
612
- click_button 'Create'
613
- click_link 'Edit'
614
- select 'Album1'
615
- click_button 'Edit'
616
- page.html.must_include 'Artists'
617
- page.html.wont_include '>associate<'
618
- visit("/Album/mtm_edit")
619
- page.html.must_include 'Unhandled Request'
620
- end
621
- end