sambal-cle 0.1.3
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/README.md +4 -0
- data/lib/sambal-cle/base_page.rb +20 -0
- data/lib/sambal-cle/core-ext.rb +90 -0
- data/lib/sambal-cle/data_objects/announcement.rb +82 -0
- data/lib/sambal-cle/data_objects/assessment.rb +32 -0
- data/lib/sambal-cle/data_objects/assignment.rb +205 -0
- data/lib/sambal-cle/data_objects/blog.rb +46 -0
- data/lib/sambal-cle/data_objects/blogger.rb +49 -0
- data/lib/sambal-cle/data_objects/chat_room.rb +54 -0
- data/lib/sambal-cle/data_objects/event.rb +89 -0
- data/lib/sambal-cle/data_objects/forum.rb +212 -0
- data/lib/sambal-cle/data_objects/lesson.rb +185 -0
- data/lib/sambal-cle/data_objects/message.rb +57 -0
- data/lib/sambal-cle/data_objects/poll.rb +74 -0
- data/lib/sambal-cle/data_objects/resource.rb +209 -0
- data/lib/sambal-cle/data_objects/site.rb +295 -0
- data/lib/sambal-cle/data_objects/syllabus.rb +73 -0
- data/lib/sambal-cle/data_objects/web_content_tool.rb +51 -0
- data/lib/sambal-cle/data_objects/wiki.rb +63 -0
- data/lib/sambal-cle/date_makers.rb +118 -0
- data/lib/sambal-cle/gem_ext.rb +23 -0
- data/lib/sambal-cle/page_helper.rb +22 -0
- data/lib/sambal-cle/page_maker.rb +48 -0
- data/lib/sambal-cle/page_objects/account.rb +111 -0
- data/lib/sambal-cle/page_objects/aliases.rb +43 -0
- data/lib/sambal-cle/page_objects/announcements.rb +190 -0
- data/lib/sambal-cle/page_objects/assessments.rb +874 -0
- data/lib/sambal-cle/page_objects/assignments.rb +770 -0
- data/lib/sambal-cle/page_objects/basic_lti.rb +6 -0
- data/lib/sambal-cle/page_objects/blogger.rb +205 -0
- data/lib/sambal-cle/page_objects/blogs.rb +60 -0
- data/lib/sambal-cle/page_objects/calendar.rb +330 -0
- data/lib/sambal-cle/page_objects/calendar_summary.rb +1 -0
- data/lib/sambal-cle/page_objects/chat_room.rb +22 -0
- data/lib/sambal-cle/page_objects/drop_box.rb +9 -0
- data/lib/sambal-cle/page_objects/email_archive.rb +22 -0
- data/lib/sambal-cle/page_objects/entity_picker.rb +62 -0
- data/lib/sambal-cle/page_objects/evaluations.rb +158 -0
- data/lib/sambal-cle/page_objects/feedback.rb +36 -0
- data/lib/sambal-cle/page_objects/forms.rb +120 -0
- data/lib/sambal-cle/page_objects/forums.rb +254 -0
- data/lib/sambal-cle/page_objects/glossary.rb +117 -0
- data/lib/sambal-cle/page_objects/gradebook.rb +29 -0
- data/lib/sambal-cle/page_objects/gradebook2.rb +17 -0
- data/lib/sambal-cle/page_objects/home.rb +36 -0
- data/lib/sambal-cle/page_objects/jforums.rb +444 -0
- data/lib/sambal-cle/page_objects/job_scheduler.rb +121 -0
- data/lib/sambal-cle/page_objects/lessons.rb +361 -0
- data/lib/sambal-cle/page_objects/login.rb +28 -0
- data/lib/sambal-cle/page_objects/matrix.rb +241 -0
- data/lib/sambal-cle/page_objects/media_gallery.rb +13 -0
- data/lib/sambal-cle/page_objects/messages.rb +622 -0
- data/lib/sambal-cle/page_objects/my_workspace.rb +44 -0
- data/lib/sambal-cle/page_objects/news.rb +8 -0
- data/lib/sambal-cle/page_objects/podcasts.rb +27 -0
- data/lib/sambal-cle/page_objects/polls.rb +69 -0
- data/lib/sambal-cle/page_objects/portfolio_templates.rb +161 -0
- data/lib/sambal-cle/page_objects/portfolios.rb +162 -0
- data/lib/sambal-cle/page_objects/post_em.rb +1 -0
- data/lib/sambal-cle/page_objects/profile.rb +51 -0
- data/lib/sambal-cle/page_objects/profile2.rb +344 -0
- data/lib/sambal-cle/page_objects/public_search.rb +61 -0
- data/lib/sambal-cle/page_objects/realms.rb +19 -0
- data/lib/sambal-cle/page_objects/resources.rb +326 -0
- data/lib/sambal-cle/page_objects/resources_roster.rb +0 -0
- data/lib/sambal-cle/page_objects/rosters.rb +70 -0
- data/lib/sambal-cle/page_objects/rwiki.rb +34 -0
- data/lib/sambal-cle/page_objects/search.rb +34 -0
- data/lib/sambal-cle/page_objects/sections.rb +295 -0
- data/lib/sambal-cle/page_objects/single_user.rb +1 -0
- data/lib/sambal-cle/page_objects/site_setup.rb +621 -0
- data/lib/sambal-cle/page_objects/site_statistics.rb +1 -0
- data/lib/sambal-cle/page_objects/sites.rb +255 -0
- data/lib/sambal-cle/page_objects/styles.rb +74 -0
- data/lib/sambal-cle/page_objects/syllabus.rb +166 -0
- data/lib/sambal-cle/page_objects/user_membership.rb +57 -0
- data/lib/sambal-cle/page_objects/users.rb +88 -0
- data/lib/sambal-cle/randomizers.rb +117 -0
- data/lib/sambal-cle/rich_text.rb +38 -0
- data/lib/sambal-cle/utilities.rb +31 -0
- data/lib/sambal-cle/workflows.rb +223 -0
- data/lib/sambal-cle.rb +31 -0
- data/sambal-cle.gemspec +14 -0
- data/test/add_assignment_to_calendar_spec.rb +86 -0
- data/test/assignment_announcements_spec.rb +71 -0
- data/test/assignment_gradebook_spec.rb +98 -0
- data/test/config.yml.template +4 -0
- data/test/directory.yml.template +123 -0
- data/test/duplicate_site_spec.rb +244 -0
- metadata +167 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
#================
|
2
|
+
# Polls pages
|
3
|
+
#================
|
4
|
+
|
5
|
+
#
|
6
|
+
class Polls < BasePage
|
7
|
+
|
8
|
+
frame_element
|
9
|
+
|
10
|
+
action(:add) { |b| b.frm.link(:text=>"Add").click }
|
11
|
+
|
12
|
+
def questions
|
13
|
+
questions = []
|
14
|
+
frm.table(:id=>"sortableTable").rows.each do |row|
|
15
|
+
questions << row[0].link.text
|
16
|
+
end
|
17
|
+
return questions
|
18
|
+
end
|
19
|
+
|
20
|
+
# Returns an array containing the list of poll questions displayed.
|
21
|
+
def list
|
22
|
+
list = []
|
23
|
+
frm.table(:id=>"sortableTable").rows.each_with_index do |row, index|
|
24
|
+
next if index==0
|
25
|
+
list << row[0].link(:href=>/voteQuestion/).text
|
26
|
+
end
|
27
|
+
return list
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
#
|
33
|
+
class AddEditPoll < BasePage
|
34
|
+
|
35
|
+
frame_element
|
36
|
+
include FCKEditor
|
37
|
+
|
38
|
+
expected_element :editor
|
39
|
+
|
40
|
+
element(:editor) { |b| b.frm.frame(:id, "newpolldescr::input___Frame") }
|
41
|
+
|
42
|
+
def additional_instructions=(text)
|
43
|
+
editor.td(:id, "xEditingArea").frame(:index=>0).send_keys(text)
|
44
|
+
end
|
45
|
+
|
46
|
+
action(:save_and_add_options) { |b| b.frm.button(:value=>"Save and add options").click }
|
47
|
+
action(:save) { |b| b.frm.button(:value=>"Save").click }
|
48
|
+
element(:question) { |b| b.frm.text_field(:id=>"new-poll-text") }
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
#
|
53
|
+
class AddAnOption < BasePage
|
54
|
+
|
55
|
+
frame_element
|
56
|
+
include FCKEditor
|
57
|
+
|
58
|
+
expected_element :editor
|
59
|
+
|
60
|
+
element(:editor) { |b| b.frm.frame(:id, "optText::input___Frame") }
|
61
|
+
|
62
|
+
def answer_option=(text)
|
63
|
+
editor.td(:id, "xEditingArea").frame(:index=>0).send_keys(text)
|
64
|
+
end
|
65
|
+
|
66
|
+
action(:save) { |b| b.frm.button(:value=>"Save").click }
|
67
|
+
action(:save_and_add_options) { |b| b.frm.button(:value=>"Save and add options").click }
|
68
|
+
|
69
|
+
end
|
@@ -0,0 +1,161 @@
|
|
1
|
+
#================
|
2
|
+
# Portfolio Templates pages
|
3
|
+
#================
|
4
|
+
|
5
|
+
#
|
6
|
+
class PortfolioTemplates < BasePage
|
7
|
+
|
8
|
+
frame_element
|
9
|
+
|
10
|
+
# Clicks the Add link and instantiates the
|
11
|
+
# AddPortfolioTemplate class.
|
12
|
+
def add
|
13
|
+
frm.link(:text=>"Add").click
|
14
|
+
AddPortfolioTemplate.new(@browser)
|
15
|
+
end
|
16
|
+
|
17
|
+
# Clicks the "Publish" link for the specified Template.
|
18
|
+
def publish(templatename)
|
19
|
+
frm.table(:class=>"listHier lines nolines").row(:text=>/#{Regexp.escape(templatename)}/).link(:text=>"Publish").click
|
20
|
+
end
|
21
|
+
|
22
|
+
# Clicks the "Edit" link for the specified Template.
|
23
|
+
def edit(templatename)
|
24
|
+
frm.table(:class=>"listHier lines nolines").row(:text=>/#{Regexp.escape(templatename)}/).link(:text=>"Edit").click
|
25
|
+
end
|
26
|
+
|
27
|
+
# Clicks the "Delete" link for the specified Template.
|
28
|
+
def delete(templatename)
|
29
|
+
frm.table(:class=>"listHier lines nolines").row(:text=>/#{Regexp.escape(templatename)}/).link(:text=>"Delete").click
|
30
|
+
end
|
31
|
+
|
32
|
+
# Clicks the "Copy" link for the specified Template.
|
33
|
+
def copy(templatename)
|
34
|
+
frm.table(:class=>"listHier lines nolines").row(:text=>/#{Regexp.escape(templatename)}/).link(:text=>"Copy").click
|
35
|
+
end
|
36
|
+
|
37
|
+
# Clicks the "Export" link for the specified Template.
|
38
|
+
def export(templatename)
|
39
|
+
frm.table(:class=>"listHier lines nolines").row(:text=>/#{Regexp.escape(templatename)}/).link(:text=>"Export").click
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
#
|
45
|
+
class AddPortfolioTemplate < BasePage
|
46
|
+
|
47
|
+
frame_element
|
48
|
+
|
49
|
+
# Clicks the Continue button and instantiates the BuildTemplate Class.
|
50
|
+
def continue
|
51
|
+
frm.button(:value=>"Continue").click
|
52
|
+
BuildTemplate.new(@browser)
|
53
|
+
end
|
54
|
+
|
55
|
+
element(:name) { |b| b.frm.text_field(:id=>"name-id") }
|
56
|
+
element(:description) { |b| b.frm.text_field(:id=>"description") }
|
57
|
+
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
#
|
62
|
+
class BuildTemplate < BasePage
|
63
|
+
|
64
|
+
frame_element
|
65
|
+
|
66
|
+
# Clicks the Select File link and instantiates the
|
67
|
+
# PortfolioAttachFiles Class.
|
68
|
+
def select_file
|
69
|
+
frm.link(:text=>"Select File").click
|
70
|
+
PortfolioAttachFiles.new(@browser)
|
71
|
+
end
|
72
|
+
|
73
|
+
# Clicks the Continue button and instantiates
|
74
|
+
# PortfolioContent Class.
|
75
|
+
def continue
|
76
|
+
frm.button(:value=>"Continue").click
|
77
|
+
PortfolioContent.new(@browser)
|
78
|
+
end
|
79
|
+
|
80
|
+
element(:outline_options_form_type) { |b| b.frm.select(:id=>"propertyFormType-id") }
|
81
|
+
|
82
|
+
end
|
83
|
+
|
84
|
+
#
|
85
|
+
class PortfoliosUploadFiles < BasePage # TODO - This class is not DRY. Identical methods in multiple classes
|
86
|
+
|
87
|
+
frame_element
|
88
|
+
|
89
|
+
@@filex=0
|
90
|
+
|
91
|
+
# Note that the file_to_upload method can be used
|
92
|
+
# multiple times, but it assumes
|
93
|
+
# that the add_another_file method is used
|
94
|
+
# before it, every time except before the first time.
|
95
|
+
def file_to_upload(file_name, file_path)
|
96
|
+
frm.file_field(:id, "content_#{@@filex}").set(file_path + file_name)
|
97
|
+
@@filex+=1
|
98
|
+
end
|
99
|
+
|
100
|
+
# Clicks the Upload Files Now button and instantiates the
|
101
|
+
# PortfolioAttachFiles Class.
|
102
|
+
def upload_files_now
|
103
|
+
frm.button(:value=>"Upload Files Now").click
|
104
|
+
sleep 1 # TODO - use a wait clause here
|
105
|
+
@@filex=0
|
106
|
+
PortfolioAttachFiles.new(@browser)
|
107
|
+
end
|
108
|
+
|
109
|
+
# Clicks the Add Another File link.
|
110
|
+
def add_another_file
|
111
|
+
frm.link(:text=>"Add Another File").click
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
115
|
+
|
116
|
+
#
|
117
|
+
class PortfolioContent < BasePage
|
118
|
+
|
119
|
+
frame_element
|
120
|
+
|
121
|
+
# Clicks the Continue button and instantiates the
|
122
|
+
# SupportingFilesPortfolio Class.
|
123
|
+
def continue
|
124
|
+
frm.button(:value=>"Continue").click
|
125
|
+
SupportingFilesPortfolio.new(@browser)
|
126
|
+
end
|
127
|
+
|
128
|
+
|
129
|
+
element(:type) { |b| b.frm.select(:id=>"item.type") }
|
130
|
+
element(:name) { |b| b.frm.text_field(:id=>"item.name-id") }
|
131
|
+
element(:title) { |b| b.frm.text_field(:id=>"item.title-id") }
|
132
|
+
element(:description) { |b| b.frm.text_field(:id=>"item.description-id") }
|
133
|
+
action(:add_to_list) { |b| b.frm.button(:value=>"Add To List").click }
|
134
|
+
element(:image) { |b| b.frm.checkbox(:id=>"image-id") }
|
135
|
+
|
136
|
+
end
|
137
|
+
|
138
|
+
#
|
139
|
+
class SupportingFilesPortfolio < BasePage
|
140
|
+
|
141
|
+
frame_element
|
142
|
+
|
143
|
+
# Clicks the Finish button and instantiates
|
144
|
+
# the PortfolioTemplates Class.
|
145
|
+
def finish
|
146
|
+
frm.button(:value=>"Finish").click
|
147
|
+
PortfolioTemplates.new(@browser)
|
148
|
+
end
|
149
|
+
|
150
|
+
# Clicks the Select File link and instantiates
|
151
|
+
# the PortfolioAttachFiles Class.
|
152
|
+
def select_file
|
153
|
+
frm.link(:text=>"Select File").click
|
154
|
+
PortfolioAttachFiles.new(@browser)
|
155
|
+
end
|
156
|
+
|
157
|
+
|
158
|
+
action(:add_to_list) { |b| b.frm.button(:value=>"Add To List").click }
|
159
|
+
element(:name) { |b| b.frm.text_field(:id=>"fileRef.usage-id") }
|
160
|
+
|
161
|
+
end
|
@@ -0,0 +1,162 @@
|
|
1
|
+
#================
|
2
|
+
# Portfolios pages
|
3
|
+
#================
|
4
|
+
|
5
|
+
#
|
6
|
+
class Portfolios < BasePage
|
7
|
+
|
8
|
+
frame_element
|
9
|
+
|
10
|
+
def create_new_portfolio
|
11
|
+
frm.link(:text=>"Create New Portfolio").click
|
12
|
+
AddPortfolio.new(@browser)
|
13
|
+
end
|
14
|
+
|
15
|
+
def list
|
16
|
+
list = []
|
17
|
+
frm.table(:class=>"listHier ospTable").rows.each do |row|
|
18
|
+
list << row[0].text
|
19
|
+
end
|
20
|
+
list.delete_at(0)
|
21
|
+
return list
|
22
|
+
end
|
23
|
+
|
24
|
+
def shared(portfolio_name)
|
25
|
+
frm.table(:class=>"listHier ospTable").row(:text=>/#{Regexp.escape(portfolio_name)}/)[5].text
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
#
|
33
|
+
class AddPortfolio < BasePage
|
34
|
+
|
35
|
+
frame_element
|
36
|
+
|
37
|
+
def create
|
38
|
+
frm.button(:value=>"Create").click
|
39
|
+
EditPortfolio.new(@browser)
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
element(:name) { |b| b.frm.text_field(:name=>"presentationName") }
|
44
|
+
element(:design_your_own_portfolio) { |b| b.frm.radio(:id=>"templateId-freeForm") }
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
#
|
49
|
+
class EditPortfolio < BasePage
|
50
|
+
|
51
|
+
frame_element
|
52
|
+
|
53
|
+
def add_edit_content
|
54
|
+
frm.link(:text=>"Add/Edit Content").click
|
55
|
+
AddEditPortfolioContent.new @browser
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
action(:edit_title) { |b| b.frm.link(:text=>"Edit Title").click }
|
60
|
+
action(:save_changes) { |b| b.frm.link(:text=>"Save Changes").click }
|
61
|
+
element(:active) { |b| b.frm.radio(:id=>"btnActive") }
|
62
|
+
element(:inactive) { |b| b.frm.radio(:id=>"btnInactive") }
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
#
|
67
|
+
class AddEditPortfolioContent < BasePage
|
68
|
+
|
69
|
+
frame_element
|
70
|
+
|
71
|
+
def add_page
|
72
|
+
frm.link(:text=>"Add Page").click
|
73
|
+
AddEditPortfolioPage.new(@browser)
|
74
|
+
end
|
75
|
+
|
76
|
+
def share_with_others
|
77
|
+
frm.link(:text=>"Share with Others").click
|
78
|
+
SharePortfolio.new @browser
|
79
|
+
end
|
80
|
+
|
81
|
+
|
82
|
+
action(:save_changes) { |b| b.frm.button(:value=>"Save Changes").click }
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
#
|
87
|
+
class AddEditPortfolioPage < BasePage
|
88
|
+
|
89
|
+
frame_element
|
90
|
+
|
91
|
+
def add_page
|
92
|
+
frm.button(:value=>"Add Page").click
|
93
|
+
AddEditPortfolioContent.new(@browser)
|
94
|
+
end
|
95
|
+
|
96
|
+
def select_layout
|
97
|
+
frm.link(:text=>"Select Layout").click
|
98
|
+
ManagePortfolioLayouts.new @browser
|
99
|
+
end
|
100
|
+
|
101
|
+
def select_style
|
102
|
+
frm.link(:text=>"Select Style").click
|
103
|
+
SelectPortfolioStyle.new @browser
|
104
|
+
end
|
105
|
+
|
106
|
+
def simple_html_content=(text)
|
107
|
+
frm.frame(:id, "_id1:arrange:_id49_inputRichText___Frame").div(:title=>"Select All").fire_event("onclick")
|
108
|
+
frm.frame(:id, "_id1:arrange:_id49_inputRichText___Frame").td(:id, "xEditingArea").frame(:index=>0).send_keys :backspace
|
109
|
+
frm.frame(:id, "_id1:arrange:_id49_inputRichText___Frame").td(:id, "xEditingArea").frame(:index=>0).send_keys(text)
|
110
|
+
end
|
111
|
+
|
112
|
+
|
113
|
+
element(:title) { |b| b.frm.text_field(:id=>"_id1:title") }
|
114
|
+
element(:description) { |b| b.frm.text_field(:id=>"_id1:description") }
|
115
|
+
element(:keywords) { |b| b.frm.text_field(:id=>"_id1:keywords") }
|
116
|
+
|
117
|
+
|
118
|
+
end
|
119
|
+
|
120
|
+
#
|
121
|
+
class ManagePortfolioLayouts < BasePage
|
122
|
+
|
123
|
+
frame_element
|
124
|
+
|
125
|
+
def select(layout_name)
|
126
|
+
frm.table(:class=>"listHier lines nolines").row(:text=>/#{Regexp.escape(layout_name)}/).link(:text=>"Select").click
|
127
|
+
AddEditPortfolioPage.new @browser
|
128
|
+
end
|
129
|
+
|
130
|
+
def go_back
|
131
|
+
frm.button(:value=>"Go Back").click
|
132
|
+
AddEditPortfolioPage.new @browser
|
133
|
+
end
|
134
|
+
|
135
|
+
end
|
136
|
+
|
137
|
+
#
|
138
|
+
class SharePortfolio < BasePage
|
139
|
+
|
140
|
+
frame_element
|
141
|
+
|
142
|
+
def click_here_to_share_with_others
|
143
|
+
frm.link(:text=>"Click here to share with others").click
|
144
|
+
AddPeopleToShare.new(@browser)
|
145
|
+
end
|
146
|
+
|
147
|
+
def summary
|
148
|
+
frm.link(:text=>"Summary").click
|
149
|
+
EditPortfolio.new @browser
|
150
|
+
end
|
151
|
+
|
152
|
+
|
153
|
+
element(:everyone_on_the_internet) { |b| b.frm.checkbox(:id=>"public_checkbox") }
|
154
|
+
|
155
|
+
end
|
156
|
+
|
157
|
+
#
|
158
|
+
class AddPeopleToShare < BasePage
|
159
|
+
|
160
|
+
frame_element
|
161
|
+
|
162
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# Work to be done here. :-)
|
@@ -0,0 +1,51 @@
|
|
1
|
+
#================
|
2
|
+
# Profile Pages
|
3
|
+
#================
|
4
|
+
|
5
|
+
#
|
6
|
+
class Profile < BasePage
|
7
|
+
|
8
|
+
frame_element
|
9
|
+
|
10
|
+
def edit_my_profile
|
11
|
+
frm.link(:text=>"Edit my Profile").click
|
12
|
+
EditProfile.new(@browser)
|
13
|
+
end
|
14
|
+
|
15
|
+
def show_my_profile
|
16
|
+
frm.link(:text=>"Show my Profile").click
|
17
|
+
Profile.new @browser
|
18
|
+
end
|
19
|
+
|
20
|
+
def photo
|
21
|
+
source = frm.image(:id=>"profileForm:image1").src
|
22
|
+
return source.split("/")[-1]
|
23
|
+
end
|
24
|
+
|
25
|
+
def email
|
26
|
+
frm.link(:id=>"profileForm:email").text
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
class EditProfile < BasePage
|
32
|
+
|
33
|
+
frame_element
|
34
|
+
|
35
|
+
def save
|
36
|
+
frm.button(:value=>"Save").click
|
37
|
+
Profile.new(@browser)
|
38
|
+
end
|
39
|
+
|
40
|
+
def picture_file(filename, filepath="")
|
41
|
+
frm.file_field(:name=>"editProfileForm:uploadFile.uploadId").set(filepath + filename)
|
42
|
+
end
|
43
|
+
|
44
|
+
element(:first_name) { |b| b.frm.text_field(:id=>"editProfileForm:first_name") }
|
45
|
+
element(:last_name) { |b| b.frm.text_field(:id=>"editProfileForm:lname") }
|
46
|
+
element(:nickname) { |b| b.frm.text_field(:id=>"editProfileForm:nickname") }
|
47
|
+
element(:position) { |b| b.frm.text_field(:id=>"editProfileForm:position") }
|
48
|
+
element(:email) { |b| b.frm.text_field(:id=>"editProfileForm:email") }
|
49
|
+
element(:upload_new_picture) { |b| b.frm.radio(:value=>"pictureUpload") }
|
50
|
+
|
51
|
+
end
|