sakai-cle-test-api 0.0.9 → 0.0.75
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 +2 -7
- data/lib/sakai-cle-test-api/admin_page_elements.rb +2 -6
- data/lib/sakai-cle-test-api/announcements.rb +7 -274
- data/lib/sakai-cle-test-api/assessments.rb +27 -930
- data/lib/sakai-cle-test-api/assignments.rb +13 -769
- data/lib/sakai-cle-test-api/basic_lti.rb +1 -5
- data/lib/sakai-cle-test-api/blogs.rb +2 -54
- data/lib/sakai-cle-test-api/calendar.rb +8 -423
- data/lib/sakai-cle-test-api/common_page_elements.rb +172 -69
- data/lib/sakai-cle-test-api/drop_box.rb +0 -21
- data/lib/sakai-cle-test-api/email_archive.rb +1 -15
- data/lib/sakai-cle-test-api/forums.rb +8 -282
- data/lib/sakai-cle-test-api/gradebook.rb +1 -19
- data/lib/sakai-cle-test-api/gradebook2.rb +1 -15
- data/lib/sakai-cle-test-api/messages.rb +15 -551
- data/lib/sakai-cle-test-api/news.rb +1 -3
- data/lib/sakai-cle-test-api/polls.rb +3 -65
- data/lib/sakai-cle-test-api/profile.rb +2 -36
- data/lib/sakai-cle-test-api/profile2.rb +6 -315
- data/lib/sakai-cle-test-api/sections.rb +8 -198
- data/lib/sakai-cle-test-api/site_page_elements.rb +441 -4
- data/lib/sakai-cle-test-api/syllabus.rb +7 -149
- data/lib/sakai-cle-test-api/tools_menu.rb +20 -3
- data/lib/sakai-cle-test-api/utilities.rb +0 -260
- data/sakai-cle-test-api.gemspec +3 -2
- metadata +19 -21
- data/lib/sakai-cle-test-api/add_files.rb +0 -198
- data/lib/sakai-cle-test-api/chat_room.rb +0 -0
- data/lib/sakai-cle-test-api/core-ext.rb +0 -90
- data/lib/sakai-cle-test-api/data_objects/announcement.rb +0 -38
- data/lib/sakai-cle-test-api/data_objects/assessment.rb +0 -32
- data/lib/sakai-cle-test-api/data_objects/assignment.rb +0 -62
- data/lib/sakai-cle-test-api/data_objects/event.rb +0 -86
- data/lib/sakai-cle-test-api/data_objects/lesson.rb +0 -137
- data/lib/sakai-cle-test-api/data_objects/resource.rb +0 -174
- data/lib/sakai-cle-test-api/data_objects/site.rb +0 -213
- data/lib/sakai-cle-test-api/data_objects/syllabus.rb +0 -7
- data/lib/sakai-cle-test-api/data_objects/topic.rb +0 -0
- data/lib/sakai-cle-test-api/data_objects/web_content_tool.rb +0 -52
- data/lib/sakai-cle-test-api/data_objects/wiki.rb +0 -7
- data/lib/sakai-cle-test-api/gem_ext.rb +0 -45
- data/lib/sakai-cle-test-api/lessons.rb +0 -440
- data/lib/sakai-cle-test-api/resources.rb +0 -138
- data/lib/sakai-cle-test-api/rich_text.rb +0 -13
@@ -6,23 +6,5 @@
|
|
6
6
|
class Gradebook
|
7
7
|
include PageObject
|
8
8
|
include ToolsMenu
|
9
|
-
|
10
|
-
titles = []
|
11
|
-
items_table = frm.table(:class=>"listHier lines nolines")
|
12
|
-
1.upto(items_table.rows.size-1) do |x|
|
13
|
-
titles << items_table.row(:index=>x).a(:index=>0).text
|
14
|
-
end
|
15
|
-
return titles
|
16
|
-
end
|
17
|
-
|
18
|
-
# Returns the value of the "Released to Students" column
|
19
|
-
# for the specified assignment title.
|
20
|
-
def released_to_students(assignment)
|
21
|
-
frm.table(:class=>"listHier lines nolines").row(:text=>/#{Regexp.escape(assignment)}/)[4].text
|
22
|
-
end
|
23
|
-
|
24
|
-
# Returns the due date value for the specified assignment.
|
25
|
-
def due_date(assignment)
|
26
|
-
frm.table(:class=>"listHier lines nolines").row(:text=>/#{Regexp.escape(assignment)}/)[3].text
|
27
|
-
end
|
9
|
+
include GradebookMethods
|
28
10
|
end
|
@@ -2,19 +2,5 @@
|
|
2
2
|
class Gradebook2
|
3
3
|
include PageObject
|
4
4
|
include ToolsMenu
|
5
|
-
|
6
|
-
def gradebook_items
|
7
|
-
items = []
|
8
|
-
frm.div(:class=>"x-grid3-scroller").spans.each do |span|
|
9
|
-
if span.class_name =~ /^x-tree3-node-text/
|
10
|
-
items << span.text
|
11
|
-
end
|
12
|
-
end
|
13
|
-
return items
|
14
|
-
end
|
15
|
-
|
16
|
-
in_frame(:class=>"portletMainIframe") do |frame|
|
17
|
-
|
18
|
-
|
19
|
-
end
|
5
|
+
include Gradebook2Methods
|
20
6
|
end
|
@@ -1,300 +1,26 @@
|
|
1
1
|
class Messages
|
2
2
|
include PageObject
|
3
3
|
include ToolsMenu
|
4
|
-
|
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
|
4
|
+
include MessagesMethods
|
76
5
|
end
|
77
6
|
|
78
7
|
class MessagesSentList
|
79
8
|
include PageObject
|
80
9
|
include ToolsMenu
|
81
|
-
|
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
|
10
|
+
include MessagesSentListMethods
|
127
11
|
end
|
128
12
|
|
129
13
|
class MessagesReceivedList
|
130
14
|
include PageObject
|
131
15
|
include ToolsMenu
|
132
|
-
|
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
|
16
|
+
include MessagesSentListMethods
|
217
17
|
end
|
218
18
|
|
219
19
|
# Page for the Contents of a Custom Folder for Messages
|
220
20
|
class FolderList #FIXME
|
221
21
|
include PageObject
|
222
22
|
include ToolsMenu
|
223
|
-
|
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
|
23
|
+
include FolderListMethods
|
298
24
|
end
|
299
25
|
|
300
26
|
# Page that appears when you want to move a message
|
@@ -302,270 +28,47 @@ end
|
|
302
28
|
class MoveMessageTo
|
303
29
|
include PageObject
|
304
30
|
include ToolsMenu
|
305
|
-
|
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
|
31
|
+
include MoveMessageToMethods
|
325
32
|
end
|
326
33
|
|
327
34
|
# The page showing the list of deleted messages.
|
328
35
|
class MessagesDeletedList
|
329
36
|
include PageObject
|
330
37
|
include ToolsMenu
|
331
|
-
|
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
|
38
|
+
include MessagesDeletedListMethods
|
395
39
|
end
|
396
40
|
|
397
41
|
# The page showing the list of Draft messages.
|
398
42
|
class MessagesDraftList
|
399
43
|
include PageObject
|
400
44
|
include ToolsMenu
|
401
|
-
|
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
|
45
|
+
include MessagesDraftListMethods
|
420
46
|
end
|
421
47
|
|
422
48
|
# The Page where you are reading a Message.
|
423
49
|
class MessageView
|
424
50
|
include PageObject
|
425
51
|
include ToolsMenu
|
426
|
-
|
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
|
52
|
+
include MessageViewMethods
|
453
53
|
end
|
454
54
|
|
455
55
|
class ComposeMessage
|
456
56
|
include PageObject
|
457
57
|
include ToolsMenu
|
458
|
-
|
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
|
58
|
+
include ComposeMessageMethods
|
490
59
|
end
|
491
60
|
|
492
61
|
class ReplyToMessage
|
493
62
|
include PageObject
|
494
63
|
include ToolsMenu
|
495
|
-
|
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
|
64
|
+
include ReplyToMessageMethods
|
532
65
|
end
|
533
66
|
|
534
67
|
# The page for composing a message
|
535
68
|
class ForwardMessage
|
536
69
|
include PageObject
|
537
70
|
include ToolsMenu
|
538
|
-
|
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
|
71
|
+
include ForwardMessageMethods
|
569
72
|
end
|
570
73
|
|
571
74
|
# The page that appears when you select to
|
@@ -574,67 +77,28 @@ end
|
|
574
77
|
class MessageDeleteConfirmation
|
575
78
|
include PageObject
|
576
79
|
include ToolsMenu
|
577
|
-
|
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
|
80
|
+
include MessageDeleteConfirmationMethods
|
589
81
|
end
|
590
82
|
|
591
83
|
# The page for creating a new folder for Messages
|
592
84
|
class MessagesNewFolder
|
593
85
|
include PageObject
|
594
86
|
include ToolsMenu
|
595
|
-
|
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
|
87
|
+
include MessagesNewFolderMethods
|
604
88
|
end
|
605
89
|
|
606
90
|
# The page for editing a Message Folder's settings
|
607
91
|
class MessageFolderSettings
|
608
92
|
include PageObject
|
609
93
|
include ToolsMenu
|
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
|
-
|
94
|
+
include MessageFolderSettingsMethods
|
626
95
|
end
|
627
96
|
|
628
97
|
# Page that confirms you want to delete the custom messages folder.
|
629
98
|
class FolderDeleteConfirm
|
630
99
|
include PageObject
|
631
100
|
include ToolsMenu
|
632
|
-
|
633
|
-
def delete
|
634
|
-
frm.button(:value=>"Delete").click
|
635
|
-
Messages.new(@browser)
|
636
|
-
end
|
637
|
-
|
101
|
+
include FolderDeleteConfirmMethods
|
638
102
|
end
|
639
103
|
|
640
104
|
# The attachment page for Messages
|