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