sakai-cle-test-api 0.0.7 → 0.0.9

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 (44) hide show
  1. data/lib/sakai-cle-test-api.rb +7 -2
  2. data/lib/sakai-cle-test-api/add_files.rb +198 -0
  3. data/lib/sakai-cle-test-api/admin_page_elements.rb +7 -3
  4. data/lib/sakai-cle-test-api/announcements.rb +274 -7
  5. data/lib/sakai-cle-test-api/assessments.rb +930 -27
  6. data/lib/sakai-cle-test-api/assignments.rb +769 -13
  7. data/lib/sakai-cle-test-api/basic_lti.rb +5 -1
  8. data/lib/sakai-cle-test-api/blogs.rb +54 -2
  9. data/lib/sakai-cle-test-api/calendar.rb +423 -8
  10. data/lib/sakai-cle-test-api/chat_room.rb +0 -0
  11. data/lib/sakai-cle-test-api/common_page_elements.rb +69 -172
  12. data/lib/sakai-cle-test-api/core-ext.rb +90 -0
  13. data/lib/sakai-cle-test-api/data_objects/announcement.rb +38 -0
  14. data/lib/sakai-cle-test-api/data_objects/assessment.rb +32 -0
  15. data/lib/sakai-cle-test-api/data_objects/assignment.rb +62 -0
  16. data/lib/sakai-cle-test-api/data_objects/event.rb +86 -0
  17. data/lib/sakai-cle-test-api/data_objects/lesson.rb +137 -0
  18. data/lib/sakai-cle-test-api/data_objects/resource.rb +174 -0
  19. data/lib/sakai-cle-test-api/data_objects/site.rb +213 -0
  20. data/lib/sakai-cle-test-api/data_objects/syllabus.rb +7 -0
  21. data/lib/sakai-cle-test-api/data_objects/topic.rb +0 -0
  22. data/lib/sakai-cle-test-api/data_objects/web_content_tool.rb +52 -0
  23. data/lib/sakai-cle-test-api/data_objects/wiki.rb +7 -0
  24. data/lib/sakai-cle-test-api/drop_box.rb +21 -0
  25. data/lib/sakai-cle-test-api/email_archive.rb +15 -1
  26. data/lib/sakai-cle-test-api/forums.rb +282 -8
  27. data/lib/sakai-cle-test-api/gem_ext.rb +45 -0
  28. data/lib/sakai-cle-test-api/gradebook.rb +19 -1
  29. data/lib/sakai-cle-test-api/gradebook2.rb +15 -1
  30. data/lib/sakai-cle-test-api/lessons.rb +440 -0
  31. data/lib/sakai-cle-test-api/messages.rb +551 -15
  32. data/lib/sakai-cle-test-api/news.rb +3 -1
  33. data/lib/sakai-cle-test-api/polls.rb +65 -3
  34. data/lib/sakai-cle-test-api/profile.rb +36 -2
  35. data/lib/sakai-cle-test-api/profile2.rb +315 -6
  36. data/lib/sakai-cle-test-api/resources.rb +138 -0
  37. data/lib/sakai-cle-test-api/rich_text.rb +13 -0
  38. data/lib/sakai-cle-test-api/sections.rb +198 -8
  39. data/lib/sakai-cle-test-api/site_page_elements.rb +4 -441
  40. data/lib/sakai-cle-test-api/syllabus.rb +149 -7
  41. data/lib/sakai-cle-test-api/tools_menu.rb +3 -20
  42. data/lib/sakai-cle-test-api/utilities.rb +260 -0
  43. data/sakai-cle-test-api.gemspec +2 -3
  44. metadata +21 -19
@@ -1,26 +1,300 @@
1
1
  class Messages
2
2
  include PageObject
3
3
  include ToolsMenu
4
- include MessagesMethods
4
+ # Clicks the Compose Message button,
5
+ # then instantiates the
6
+ # ComposeMessage class.
7
+ def compose_message
8
+ frm.link(:text=>"Compose Message").click
9
+ sleep 1 #FIXME
10
+ ComposeMessage.new(@browser)
11
+ end
12
+
13
+ def received
14
+ frm.link(:text=>"Received").click
15
+ MessagesReceivedList.new(@browser)
16
+ end
17
+
18
+ def sent
19
+ frm.link(:text=>"Sent").click
20
+ MessagesSentList.new(@browser)
21
+ end
22
+
23
+ def deleted
24
+ frm.link(:text=>"Deleted").click
25
+ MessagesDeletedList.new(@browser)
26
+ end
27
+
28
+ def draft
29
+ frm.link(:text=>"Draft").click
30
+ MessagesDraftList.new(@browser)
31
+ end
32
+
33
+ def open_folder(foldername)
34
+ frm.link(:text=>foldername).click
35
+ FolderList.new(@browser)
36
+ end
37
+
38
+ def new_folder
39
+ frm.link(:text=>"New Folder").click
40
+ MessagesNewFolder.new(@browser)
41
+ end
42
+
43
+ def settings
44
+ frm.link(:text=>"Settings").click
45
+ MessagesSettings.new(@browser)
46
+ end
47
+
48
+ # Gets the count of messages
49
+ # in the specified folder
50
+ # and returns it as a string
51
+ def total_messages_in_folder(folder_name)
52
+ frm.table(:id=>"msgForum:_id23:0:privateForums").row(:text=>/#{Regexp.escape(folder_name)}/).span(:class=>"textPanelFooter", :index=>0).text =~ /\d+/
53
+ return $~.to_s
54
+ end
55
+
56
+ # Gets the count of unread messages
57
+ # in the specified folder and returns it
58
+ # as a string
59
+ def unread_messages_in_folder(folder_name)
60
+ frm.table(:id=>"msgForum:_id23:0:privateForums").row(:text=>/#{Regexp.escape(folder_name)}/).span(:text=>/unread/).text =~ /\d+/
61
+ return $~.to_s
62
+ end
63
+
64
+ # Gets all the folder names
65
+ def folders
66
+ links = frm.table(:class=>"hierItemBlockWrapper").links.find_all { |link| link.title != /Folder Settings/ }
67
+ folders = []
68
+ links.each { |link| folders << link.text }
69
+ return folders
70
+ end
71
+
72
+ def folder_settings(folder_name)
73
+ frm.table(:class=>"hierItemBlockWrapper").row(:text=>/#{Regexp.escape(folder_name)}/).link(:text=>"Folder Settings").click
74
+ MessageFolderSettings.new(@browser)
75
+ end
5
76
  end
6
77
 
7
78
  class MessagesSentList
8
79
  include PageObject
9
80
  include ToolsMenu
10
- include MessagesSentListMethods
81
+ # Clicks the "Messages" breadcrumb link to return
82
+ # to the top level of Messages. Then instantiates
83
+ # the Messages class.
84
+ def messages
85
+ frm.link(:text=>"Messages").click
86
+ Messages.new(@browser)
87
+ end
88
+
89
+ # Creates an array consisting of the
90
+ # message subject lines.
91
+ def subjects
92
+ titles = []
93
+ messages = frm.table(:id=>"prefs_pvt_form:pvtmsgs")
94
+ 1.upto(messages.rows.size-1) do |x|
95
+ titles << messages.row(:index=>x).a.title
96
+ end
97
+ return titles
98
+ end
99
+
100
+ # Returns a string consisting of the content of the
101
+ # page header--or "breadcrumb", as it's called.
102
+ def header
103
+ frm.div(:class=>"breadCrumb specialLink").text
104
+ end
105
+
106
+ # Clicks the Compose Message button,
107
+ # then instantiates the
108
+ # ComposeMessage class.
109
+ def compose_message
110
+ frm.link(:text=>"Compose Message").click
111
+ ComposeMessage.new(@browser)
112
+ end
113
+
114
+ # Grabs the text from the message
115
+ # box that appears after doing some
116
+ # action.
117
+ #
118
+ # Use this method to simplify writing
119
+ # Test::Unit asserts
120
+ def alert_message_text
121
+ frm.span(:class=>"success").text
122
+ end
123
+
124
+ in_frame(:class=>"portletMainIframe") do |frame|
125
+ link(:check_all, :text=>"Check All", :frame=>frame)
126
+ end
11
127
  end
12
128
 
13
129
  class MessagesReceivedList
14
130
  include PageObject
15
131
  include ToolsMenu
16
- include MessagesSentListMethods
132
+ # Returns a string consisting of the content of the
133
+ # page header--or "breadcrumb", as it's called.
134
+ def header
135
+ frm.div(:class=>"breadCrumb specialLink").text
136
+ end
137
+
138
+ # Clicks the "Messages" breadcrumb link to return
139
+ # to the top level of Messages. Then instantiates
140
+ # the Messages class.
141
+ def messages
142
+ frm.link(:text=>"Messages").click
143
+ Messages.new(@browser)
144
+ end
145
+
146
+ def compose_message
147
+ frm.link(:text=>"Compose Message").click
148
+ ComposeMessage.new(@browser)
149
+ end
150
+
151
+ # Clicks on the specified message subject
152
+ # then instantiates the MessageView class.
153
+ def open_message(subject)
154
+ frm.link(:text, /#{Regexp.escape(subject)}/).click
155
+ MessageView.new(@browser)
156
+ end
157
+
158
+ # Grabs the text from the message
159
+ # box that appears after doing some
160
+ # action.
161
+ #
162
+ # Use this method to simplify writing
163
+ # Test::Unit asserts
164
+ def alert_message_text
165
+ frm.span(:class=>"success").text
166
+ end
167
+
168
+ # Checks the checkbox for the specified
169
+ # message in the list.
170
+ #
171
+ # Will throw an error if the specified
172
+ # subject is not present.
173
+ def check_message(subject)
174
+ index=subjects.index(subject)
175
+ frm.checkbox(:name=>"prefs_pvt_form:pvtmsgs:#{index}:_id122").set
176
+ end
177
+
178
+ # Clicks the "Mark Read" link, then
179
+ # reinstantiates the class because
180
+ # the page partially refreshes.
181
+ def mark_read
182
+ frm.link(:text=>"Mark Read").click
183
+ MessagesReceivedList.new(@browser)
184
+ end
185
+
186
+ # Creates an array consisting of the
187
+ # message subject lines.
188
+ def subjects
189
+ titles = []
190
+ messages = frm.table(:id=>"prefs_pvt_form:pvtmsgs")
191
+ 1.upto(messages.rows.size-1) do |x|
192
+ titles << messages.row(:index=>x).a.title
193
+ end
194
+ return titles
195
+ end
196
+
197
+ # Returns an Array object containing the
198
+ # subjects of the displayed messages that are
199
+ # marked unread.
200
+ def unread_messages
201
+ # TODO - Write this method
202
+ end
203
+
204
+ # Clicks the Move link, then
205
+ # instantiates the MoveMessageTo Class.
206
+ def move
207
+ frm.link(:text, "Move").click
208
+ MoveMessageTo.new(@browser)
209
+ end
210
+
211
+ in_frame(:class=>"portletMainIframe") do |frame|
212
+ select_list(:view, :id=>"prefs_pvt_form:viewlist", :frame=>frame)
213
+ link(:check_all, :text=>"Check All", :frame=>frame)
214
+ link(:delete, :text=>"Delete", :frame=>frame)
215
+
216
+ end
17
217
  end
18
218
 
19
219
  # Page for the Contents of a Custom Folder for Messages
20
220
  class FolderList #FIXME
21
221
  include PageObject
22
222
  include ToolsMenu
23
- include FolderListMethods
223
+ def compose_message
224
+ frm.link(:text=>"Compose Message").click
225
+ ComposeMessage.new(@browser)
226
+ end
227
+
228
+ # Clicks on the specified message subject
229
+ # then instantiates the MessageView class.
230
+ def open_message(subject)
231
+ frm.link(:text, /#{Regexp.escape(subject)}/).click
232
+ MessageView.new(@browser)
233
+ end
234
+
235
+ # Grabs the text from the message
236
+ # box that appears after doing some
237
+ # action.
238
+ #
239
+ # Use this method to simplify writing
240
+ # Test::Unit asserts
241
+ def alert_message_text
242
+ frm.span(:class=>"success").text
243
+ end
244
+
245
+ # Checks the checkbox for the specified
246
+ # message in the list.
247
+ #
248
+ # Will throw an error if the specified
249
+ # subject is not present.
250
+ def check_message(subject)
251
+ index=subjects.index(subject)
252
+ frm.checkbox(:name=>"prefs_pvt_form:pvtmsgs:#{index}:_id122").set
253
+ end
254
+
255
+ # Clicks the Messages link in the
256
+ # Breadcrumb bar at the top of the
257
+ # page, then instantiates the Messages
258
+ # class
259
+ def messages
260
+ frm.link(:text=>"Messages").click
261
+ Messages.new(@browser)
262
+ end
263
+
264
+ # Clicks the "Mark Read" link, then
265
+ # reinstantiates the class because
266
+ # the page partially refreshes.
267
+ def mark_read
268
+ frm.link(:text=>"Mark Read").click
269
+ MessagesReceivedList.new(@browser)
270
+ end
271
+
272
+ # Creates an array consisting of the
273
+ # message subject lines.
274
+ def subjects
275
+ titles = []
276
+ messages = frm.table(:id=>"prefs_pvt_form:pvtmsgs")
277
+ 1.upto(messages.rows.size-1) do |x|
278
+ titles << messages.row(:index=>x).a.title
279
+ end
280
+ return titles
281
+ end
282
+
283
+ def unread_messages
284
+ # TODO - Write this method
285
+ end
286
+
287
+ def move
288
+ frm.link(:text, "Move").click
289
+ MoveMessageTo.new(@browser)
290
+ end
291
+
292
+ in_frame(:class=>"portletMainIframe") do |frame|
293
+ select_list(:view, :id=>"prefs_pvt_form:viewlist", :frame=>frame)
294
+ link(:check_all, :text=>"Check All", :frame=>frame)
295
+ link(:delete, :text=>"Delete", :frame=>frame)
296
+
297
+ end
24
298
  end
25
299
 
26
300
  # Page that appears when you want to move a message
@@ -28,47 +302,270 @@ end
28
302
  class MoveMessageTo
29
303
  include PageObject
30
304
  include ToolsMenu
31
- include MoveMessageToMethods
305
+ def move_messages
306
+ frm.button(:value=>"Move Messages").click
307
+ Messages.new(@browser)
308
+ end
309
+
310
+ # Method for selecting any custom folders
311
+ # present on the screen--and *only* the custom
312
+ # folders. Count begins with "1" for the first custom
313
+ # folder listed.
314
+ def select_custom_folder_num(num)
315
+ frm.radio(:index=>num.to_i+3).set
316
+ end
317
+
318
+ in_frame(:class=>"portletMainIframe") do |frame|
319
+ radio_button(:received, :name=>"pvtMsgMove:_id16:0:privateForums:0:_id19", :frame=>frame)
320
+ radio_button(:sent, :name=>"pvtMsgMove:_id16:0:privateForums:1:_id19", :frame=>frame)
321
+ radio_button(:deleted, :name=>"pvtMsgMove:_id16:0:privateForums:2:_id19", :frame=>frame)
322
+ radio_button(:draft, :name=>"pvtMsgMove:_id16:0:privateForums:3:_id19", :frame=>frame)
323
+
324
+ end
32
325
  end
33
326
 
34
327
  # The page showing the list of deleted messages.
35
328
  class MessagesDeletedList
36
329
  include PageObject
37
330
  include ToolsMenu
38
- include MessagesDeletedListMethods
331
+ # Returns a string consisting of the content of the
332
+ # page header--or "breadcrumb", as it's called.
333
+ def header
334
+ frm.div(:class=>"breadCrumb specialLink").text
335
+ end
336
+
337
+ # Clicks the "Messages" breadcrumb link to return
338
+ # to the top level of Messages. Then instantiates
339
+ # the Messages class.
340
+ def messages
341
+ frm.link(:text=>"Messages").click
342
+ Messages.new(@browser)
343
+ end
344
+
345
+ def compose_message
346
+ frm.link(:text=>"Compose Message").click
347
+ ComposeMessage.new(@browser)
348
+ end
349
+
350
+ # Grabs the text from the message
351
+ # box that appears after doing some
352
+ # action.
353
+ #
354
+ # Use this method to simplify writing
355
+ # Test::Unit asserts
356
+ def alert_message_text
357
+ frm.span(:class=>"success").text
358
+ end
359
+
360
+ # Creates an array consisting of the
361
+ # message subject lines.
362
+ def subjects
363
+ titles = []
364
+ messages = frm.table(:id=>"prefs_pvt_form:pvtmsgs")
365
+ 1.upto(messages.rows.size-1) do |x|
366
+ titles << messages[x][2].text
367
+ end
368
+ return titles
369
+ end
370
+
371
+ # Checks the checkbox for the specified
372
+ # message in the list.
373
+ #
374
+ # Will throw an error if the specified
375
+ # subject is not present.
376
+ def check_message(subject)
377
+ index=subjects.index(subject)
378
+ frm.checkbox(:name=>"prefs_pvt_form:pvtmsgs:#{index}:_id122").set
379
+ end
380
+
381
+ def move
382
+ frm.link(:text, "Move").click
383
+ MoveMessageTo.new(@browser)
384
+ end
385
+
386
+ def delete
387
+ frm.link(:text=>"Delete").click
388
+ MessageDeleteConfirmation.new(@browser)
389
+ end
390
+
391
+ in_frame(:class=>"portletMainIframe") do |frame|
392
+ link(:check_all, :text=>"Check All", :frame=>frame)
393
+
394
+ end
39
395
  end
40
396
 
41
397
  # The page showing the list of Draft messages.
42
398
  class MessagesDraftList
43
399
  include PageObject
44
400
  include ToolsMenu
45
- include MessagesDraftListMethods
401
+ def compose_message
402
+ frm.link(:text=>"Compose Message").click
403
+ ComposeMessage.new(@browser)
404
+ end
405
+
406
+ # Grabs the text from the message
407
+ # box that appears after doing some
408
+ # action.
409
+ #
410
+ # Use this method to simplify writing
411
+ # Test::Unit asserts
412
+ def alert_message_text
413
+ frm.span(:class=>"success").text
414
+ end
415
+
416
+ in_frame(:class=>"portletMainIframe") do |frame|
417
+ link(:check_all, :text=>"Check All", :frame=>frame)
418
+
419
+ end
46
420
  end
47
421
 
48
422
  # The Page where you are reading a Message.
49
423
  class MessageView
50
424
  include PageObject
51
425
  include ToolsMenu
52
- include MessageViewMethods
426
+ # Returns the contents of the message body.
427
+ def message_text
428
+ frm.div(:class=>"textPanel").text
429
+ end
430
+
431
+ def reply
432
+ frm.button(:value=>"Reply").click
433
+ ReplyToMessage.new(@browser)
434
+ end
435
+
436
+ def forward
437
+ frm.button(:value=>"Forward ").click
438
+ ForwardMessage.new(@browser)
439
+ end
440
+
441
+ def received
442
+ frm.link(:text=>"Received").click
443
+ MessagesReceivedList.new(@browser)
444
+ end
445
+
446
+ # Clicks the "Messages" breadcrumb link to return
447
+ # to the top level of Messages. Then instantiates
448
+ # the Messages class.
449
+ def messages
450
+ frm.link(:text=>"Messages").click
451
+ Messages.new(@browser)
452
+ end
53
453
  end
54
454
 
55
455
  class ComposeMessage
56
456
  include PageObject
57
457
  include ToolsMenu
58
- include ComposeMessageMethods
458
+ def send
459
+ frm.button(:value=>"Send ").click
460
+ Messages.new(@browser)
461
+ end
462
+
463
+ def message_text=(text)
464
+ frm.frame(:id, "compose:pvt_message_body_inputRichText___Frame").td(:id, "xEditingArea").wait_until_present
465
+ sleep 0.3
466
+ frm.frame(:id, "compose:pvt_message_body_inputRichText___Frame").td(:id, "xEditingArea").frame(:index=>0).send_keys(text)
467
+ end
468
+
469
+ def add_attachments
470
+ frm.button(:value=>"Add attachments").click
471
+ MessagesAttachment.new(@browser)
472
+ end
473
+
474
+ def preview
475
+ frm.button(:value=>"Preview").click
476
+ MessagesPreview.new(@browser)
477
+ end
478
+
479
+ def save_draft
480
+ frm.button(:value=>"Save Draft").click
481
+ xxxxxxxxx.new(@browser) #FIXME
482
+ end
483
+
484
+ in_frame(:class=>"portletMainIframe") do |frame|
485
+ select_list(:send_to, :id=>"compose:list1", :frame=>frame)
486
+ checkbox(:send_cc, :id=>"compose:send_email_out", :frame=>frame)
487
+ text_field(:subject, :id=>"compose:subject", :frame=>frame)
488
+
489
+ end
59
490
  end
60
491
 
61
492
  class ReplyToMessage
62
493
  include PageObject
63
494
  include ToolsMenu
64
- include ReplyToMessageMethods
495
+ def send
496
+ frm.button(:value=>"Send ").click
497
+ # Need logic here to ensure the
498
+ # right class gets called...
499
+ if frm.div(:class=>/breadCrumb/).text=~ /Messages.\/.Received/
500
+ MessagesReceivedList.new(@browser)
501
+ else #FIXME
502
+ Messages.new(@browser)
503
+ end
504
+ end
505
+
506
+ def message_text=(text)
507
+ frm.frame(:id, "pvtMsgReply:df_compose_body_inputRichText___Frame").td(:id, "xEditingArea").frame(:index=>0).send_keys(:home)
508
+ frm.frame(:id, "pvtMsgReply:df_compose_body_inputRichText___Frame").td(:id, "xEditingArea").frame(:index=>0).send_keys(text)
509
+ end
510
+
511
+ def add_attachments
512
+ frm.button(:value=>"Add attachments").click
513
+ MessagesAttachment.new(@browser)
514
+ end
515
+
516
+ def preview
517
+ frm.button(:value=>"Preview").click
518
+ MessagesPreview.new(@browser)
519
+ end
520
+
521
+ def save_draft
522
+ frm.button(:value=>"Save Draft").click
523
+
524
+ end
525
+
526
+ in_frame(:class=>"portletMainIframe") do |frame|
527
+ select_list(:select_additional_recipients, :id=>"compose:list1", :frame=>frame)
528
+ checkbox(:send_cc, :id=>"compose:send_email_out", :frame=>frame)
529
+ text_field(:subject, :id=>"compose:subject", :frame=>frame)
530
+
531
+ end
65
532
  end
66
533
 
67
534
  # The page for composing a message
68
535
  class ForwardMessage
69
536
  include PageObject
70
537
  include ToolsMenu
71
- include ForwardMessageMethods
538
+ def send
539
+ frm.button(:value=>"Send ").click
540
+ MessagesReceivedList.new(@browser) #FIXME!
541
+ end
542
+
543
+ def message_text=(text)
544
+ frm.frame(:id, "pvtMsgForward:df_compose_body_inputRichText___Frame").td(:id, "xEditingArea").frame(:index=>0).send_keys(:home)
545
+ frm.frame(:id, "pvtMsgForward:df_compose_body_inputRichText___Frame").td(:id, "xEditingArea").frame(:index=>0).send_keys(text)
546
+ end
547
+
548
+ def add_attachments
549
+ frm.button(:value=>"Add attachments").click
550
+ MessagesAttachment.new(@browser)
551
+ end
552
+
553
+ def preview
554
+ frm.button(:value=>"Preview").click
555
+ MessagesPreview.new(@browser)
556
+ end
557
+
558
+ def save_draft
559
+ frm.button(:value=>"Save Draft").click
560
+ xxxxxxxxx.new(@browser) #FIXME
561
+ end
562
+
563
+ in_frame(:class=>"portletMainIframe") do |frame|
564
+ select_list(:select_forward_recipients, :id=>"pvtMsgForward:list1", :frame=>frame)
565
+ checkbox(:send_cc, :id=>"compose:send_email_out", :frame=>frame)
566
+ text_field(:subject, :id=>"compose:subject", :frame=>frame)
567
+
568
+ end
72
569
  end
73
570
 
74
571
  # The page that appears when you select to
@@ -77,28 +574,67 @@ end
77
574
  class MessageDeleteConfirmation
78
575
  include PageObject
79
576
  include ToolsMenu
80
- include MessageDeleteConfirmationMethods
577
+ def alert_message_text
578
+ frm.span(:class=>"alertMessage").text
579
+ end
580
+
581
+ def delete_messages
582
+ frm.button(:value=>"Delete Message(s)").click
583
+ MessagesDeletedList.new(@browser)
584
+ end
585
+
586
+ #FIXME
587
+ # Want eventually to have a method that will return
588
+ # an array of Message subjects
81
589
  end
82
590
 
83
591
  # The page for creating a new folder for Messages
84
592
  class MessagesNewFolder
85
593
  include PageObject
86
594
  include ToolsMenu
87
- include MessagesNewFolderMethods
595
+ def add
596
+ frm.button(:value=>"Add").click
597
+ Messages.new(@browser)
598
+ end
599
+
600
+ in_frame(:class=>"portletMainIframe") do |frame|
601
+ text_field(:title, :id=>"pvtMsgFolderAdd:title", :frame=>frame)
602
+
603
+ end
88
604
  end
89
605
 
90
606
  # The page for editing a Message Folder's settings
91
607
  class MessageFolderSettings
92
608
  include PageObject
93
609
  include ToolsMenu
94
- include MessageFolderSettingsMethods
610
+
611
+ def rename_folder
612
+ frm.button(:value=>"Rename Folder").click
613
+ RenameMessageFolder.new(@browser)
614
+ end
615
+
616
+ def add
617
+ frm.button(:value=>"Add").click
618
+ MessagesNewFolder.new(@browser)
619
+ end
620
+
621
+ def delete
622
+ frm.button(:value=>"Delete").click
623
+ FolderDeleteConfirm.new(@browser)
624
+ end
625
+
95
626
  end
96
627
 
97
628
  # Page that confirms you want to delete the custom messages folder.
98
629
  class FolderDeleteConfirm
99
630
  include PageObject
100
631
  include ToolsMenu
101
- include FolderDeleteConfirmMethods
632
+
633
+ def delete
634
+ frm.button(:value=>"Delete").click
635
+ Messages.new(@browser)
636
+ end
637
+
102
638
  end
103
639
 
104
640
  # The attachment page for Messages