sakai-cle-test-api 0.0.7 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/sakai-cle-test-api.rb +7 -2
- data/lib/sakai-cle-test-api/add_files.rb +198 -0
- data/lib/sakai-cle-test-api/admin_page_elements.rb +7 -3
- data/lib/sakai-cle-test-api/announcements.rb +274 -7
- data/lib/sakai-cle-test-api/assessments.rb +930 -27
- data/lib/sakai-cle-test-api/assignments.rb +769 -13
- data/lib/sakai-cle-test-api/basic_lti.rb +5 -1
- data/lib/sakai-cle-test-api/blogs.rb +54 -2
- data/lib/sakai-cle-test-api/calendar.rb +423 -8
- data/lib/sakai-cle-test-api/chat_room.rb +0 -0
- data/lib/sakai-cle-test-api/common_page_elements.rb +69 -172
- data/lib/sakai-cle-test-api/core-ext.rb +90 -0
- data/lib/sakai-cle-test-api/data_objects/announcement.rb +38 -0
- data/lib/sakai-cle-test-api/data_objects/assessment.rb +32 -0
- data/lib/sakai-cle-test-api/data_objects/assignment.rb +62 -0
- data/lib/sakai-cle-test-api/data_objects/event.rb +86 -0
- data/lib/sakai-cle-test-api/data_objects/lesson.rb +137 -0
- data/lib/sakai-cle-test-api/data_objects/resource.rb +174 -0
- data/lib/sakai-cle-test-api/data_objects/site.rb +213 -0
- data/lib/sakai-cle-test-api/data_objects/syllabus.rb +7 -0
- data/lib/sakai-cle-test-api/data_objects/topic.rb +0 -0
- data/lib/sakai-cle-test-api/data_objects/web_content_tool.rb +52 -0
- data/lib/sakai-cle-test-api/data_objects/wiki.rb +7 -0
- data/lib/sakai-cle-test-api/drop_box.rb +21 -0
- data/lib/sakai-cle-test-api/email_archive.rb +15 -1
- data/lib/sakai-cle-test-api/forums.rb +282 -8
- data/lib/sakai-cle-test-api/gem_ext.rb +45 -0
- data/lib/sakai-cle-test-api/gradebook.rb +19 -1
- data/lib/sakai-cle-test-api/gradebook2.rb +15 -1
- data/lib/sakai-cle-test-api/lessons.rb +440 -0
- data/lib/sakai-cle-test-api/messages.rb +551 -15
- data/lib/sakai-cle-test-api/news.rb +3 -1
- data/lib/sakai-cle-test-api/polls.rb +65 -3
- data/lib/sakai-cle-test-api/profile.rb +36 -2
- data/lib/sakai-cle-test-api/profile2.rb +315 -6
- data/lib/sakai-cle-test-api/resources.rb +138 -0
- data/lib/sakai-cle-test-api/rich_text.rb +13 -0
- data/lib/sakai-cle-test-api/sections.rb +198 -8
- data/lib/sakai-cle-test-api/site_page_elements.rb +4 -441
- data/lib/sakai-cle-test-api/syllabus.rb +149 -7
- data/lib/sakai-cle-test-api/tools_menu.rb +3 -20
- data/lib/sakai-cle-test-api/utilities.rb +260 -0
- data/sakai-cle-test-api.gemspec +2 -3
- metadata +21 -19
@@ -1,26 +1,300 @@
|
|
1
1
|
class Messages
|
2
2
|
include PageObject
|
3
3
|
include ToolsMenu
|
4
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|