sakai-cle-test-api 0.0.9 → 0.0.75
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -1,62 +0,0 @@
|
|
1
|
-
class AssignmentObject
|
2
|
-
|
3
|
-
include PageObject
|
4
|
-
include Utilities
|
5
|
-
include ToolsMenu
|
6
|
-
|
7
|
-
attr_accessor :title, :site, :instructions, :id, :link
|
8
|
-
|
9
|
-
def initialize(browser, opts={})
|
10
|
-
@browser = browser
|
11
|
-
|
12
|
-
defaults = {
|
13
|
-
:title=>random_alphanums,
|
14
|
-
:instructions=>random_multiline(500, 10, :string),
|
15
|
-
:site=>"placeholder"
|
16
|
-
|
17
|
-
}
|
18
|
-
options = defaults.merge(opts)
|
19
|
-
|
20
|
-
@title=options[:title]
|
21
|
-
@instructions=options[:instructions]
|
22
|
-
@site=options[:site]
|
23
|
-
raise "You must specify a Site for your Assignment" if @site==nil
|
24
|
-
end
|
25
|
-
|
26
|
-
def create
|
27
|
-
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
28
|
-
|
29
|
-
# Go to assignments page
|
30
|
-
assignments unless @browser.title=~/Assignments$/
|
31
|
-
on_page AssignmentsList do |page|
|
32
|
-
page.add
|
33
|
-
end
|
34
|
-
on_page AssignmentAdd do |add|
|
35
|
-
add.title=@title
|
36
|
-
add.instructions=@instructions
|
37
|
-
add.post
|
38
|
-
end
|
39
|
-
on_page AssignmentsList do |list|
|
40
|
-
@id = list.get_assignment_id @title
|
41
|
-
@link = list.assignment_href @title
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def edit opts={}
|
46
|
-
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
47
|
-
assignments unless @browser.title=~/Assignments$/
|
48
|
-
list = AssignmentsList.new @browser
|
49
|
-
edit = list.edit_assignment @title
|
50
|
-
edit.title=opts[:title] unless opts[:title] == nil
|
51
|
-
unless opts[:instructions] == nil
|
52
|
-
edit.source(edit.editor)
|
53
|
-
edit.source=opts[:instructions]
|
54
|
-
end
|
55
|
-
edit.post
|
56
|
-
|
57
|
-
@title=opts[:title] unless opts[:title] == nil
|
58
|
-
@instructions=opts[:instructions] unless opts[:instructions] == nil
|
59
|
-
|
60
|
-
end
|
61
|
-
|
62
|
-
end
|
@@ -1,86 +0,0 @@
|
|
1
|
-
class EventObject
|
2
|
-
|
3
|
-
include PageObject
|
4
|
-
include Utilities
|
5
|
-
include ToolsMenu
|
6
|
-
|
7
|
-
attr_accessor :title, :month, :day, :year, :start_hour, :start_minute,
|
8
|
-
:start_meridian, :duration_hours, :duration_minutes, :end_hour,
|
9
|
-
:end_minute, :end_meridian, :message, :site, :link
|
10
|
-
|
11
|
-
def initialize(browser, opts={})
|
12
|
-
@browser = browser
|
13
|
-
|
14
|
-
defaults = {
|
15
|
-
:title=>random_alphanums,
|
16
|
-
:month=>in_15_minutes[:month_str],
|
17
|
-
:day=>in_15_minutes[:day],
|
18
|
-
:year=>in_15_minutes[:year],
|
19
|
-
:start_hour=>in_15_minutes[:hour],
|
20
|
-
:start_minute=>in_15_minutes[:minute],
|
21
|
-
:start_meridian=>in_15_minutes[:meridian],
|
22
|
-
:duration_hours=>nil,
|
23
|
-
:duration_minutes=>nil,
|
24
|
-
:end_hour=>nil,
|
25
|
-
:end_minute=>nil,
|
26
|
-
:end_meridian=>nil,
|
27
|
-
:message=>random_multiline(400,20, :alpha),
|
28
|
-
:site=>"placeholder"
|
29
|
-
}
|
30
|
-
options = defaults.merge(opts)
|
31
|
-
|
32
|
-
@title=options[:title]
|
33
|
-
@month=options[:month]
|
34
|
-
@day=options[:day]
|
35
|
-
@year=options[:year]
|
36
|
-
@start_hour=options[:start_hour]
|
37
|
-
@start_minute=options[:start_minute]
|
38
|
-
@start_meridian=options[:start_meridian]
|
39
|
-
@duration_hours=options[:duration_hours]
|
40
|
-
@duration_minutes=options[:duration_minutes]
|
41
|
-
@end_hour=options[:end_hour]
|
42
|
-
@end_minute=options[:end_minute]
|
43
|
-
@end_meridian=options[:end_meridian]
|
44
|
-
@message=options[:message]
|
45
|
-
@site=options[:site]
|
46
|
-
|
47
|
-
end
|
48
|
-
|
49
|
-
def create
|
50
|
-
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
51
|
-
calendar unless @browser.title=~/Calendar$/
|
52
|
-
cal = Calendar.new @browser
|
53
|
-
add_event = cal.add
|
54
|
-
add_event.message=@message
|
55
|
-
add_event.title=@title
|
56
|
-
add_event.month=@month
|
57
|
-
add_event.day=@day
|
58
|
-
add_event.year=@year
|
59
|
-
add_event.start_hour=@start_hour
|
60
|
-
add_event.start_minute=@start_minute
|
61
|
-
add_event.start_meridian=@start_meridian
|
62
|
-
if @end_hour == nil && @duration_hours == nil
|
63
|
-
@duration_hours = add_event.hours
|
64
|
-
@duration_minutes = add_event.minutes
|
65
|
-
@end_hour = add_event.end_hour
|
66
|
-
@end_minute = add_event.end_minute
|
67
|
-
@end_meridian = add_event.end_meridian
|
68
|
-
elsif @end_hour == nil
|
69
|
-
add_event.hours=@duration_hours
|
70
|
-
add_event.minutes=@duration_minutes
|
71
|
-
@end_hour = add_event.end_hour
|
72
|
-
@end_minute = add_event.end_minute
|
73
|
-
@end_meridian = add_event.end_meridian
|
74
|
-
elsif @duration_hours == nil
|
75
|
-
|
76
|
-
else
|
77
|
-
|
78
|
-
end
|
79
|
-
|
80
|
-
cal = add_event.save_event
|
81
|
-
|
82
|
-
@link = cal.event_href @title
|
83
|
-
|
84
|
-
end
|
85
|
-
|
86
|
-
end
|
@@ -1,137 +0,0 @@
|
|
1
|
-
class ModuleObject
|
2
|
-
|
3
|
-
include PageObject
|
4
|
-
include Utilities
|
5
|
-
include ToolsMenu
|
6
|
-
|
7
|
-
attr_accessor :title, :description, :keywords, :start_date, :end_date, :site
|
8
|
-
|
9
|
-
def initialize(browser, opts={})
|
10
|
-
@browser = browser
|
11
|
-
|
12
|
-
defaults = {
|
13
|
-
:title=>random_alphanums
|
14
|
-
}
|
15
|
-
options = defaults.merge(opts)
|
16
|
-
|
17
|
-
@title=options[:title]
|
18
|
-
@description=options[:description]
|
19
|
-
@keywords=options[:keywords]
|
20
|
-
@start_date=options[:start_date]
|
21
|
-
@end_date=options[:end_date]
|
22
|
-
@site=options[:site]
|
23
|
-
raise "You must specify a Site name for your lesson" if @site==nil
|
24
|
-
end
|
25
|
-
|
26
|
-
def create
|
27
|
-
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
28
|
-
lessons unless @browser.title=~/Lessons$/
|
29
|
-
reset
|
30
|
-
on_page Lessons do |page|
|
31
|
-
page.add_module
|
32
|
-
end
|
33
|
-
on_page AddEditModule do |page|
|
34
|
-
page.title=@title
|
35
|
-
page.description=@description
|
36
|
-
page.keywords=@keywords
|
37
|
-
page.start_date=@start_date
|
38
|
-
page.end_date=@end_date
|
39
|
-
page.add
|
40
|
-
end
|
41
|
-
on_page ConfirmModule do |page|
|
42
|
-
page.return_to_modules
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
class ContentSectionObject
|
49
|
-
|
50
|
-
include PageObject
|
51
|
-
include Utilities
|
52
|
-
include ToolsMenu
|
53
|
-
|
54
|
-
attr_accessor :site, :module, :title, :instructions, :modality, :content_type,
|
55
|
-
:copyright_status, :editor_content, :file_name, :file_path, :url, :url_title,
|
56
|
-
:file_description, :url_description
|
57
|
-
|
58
|
-
def initialize(browser, opts={})
|
59
|
-
@browser = browser
|
60
|
-
|
61
|
-
defaults = {
|
62
|
-
:title=>random_alphanums,
|
63
|
-
:copyright_status=>"Public Domain",
|
64
|
-
:modality=>[:check_textual]
|
65
|
-
}
|
66
|
-
options = defaults.merge(opts)
|
67
|
-
|
68
|
-
@site=options[:site]
|
69
|
-
@module=options[:module]
|
70
|
-
@title=options[:title]
|
71
|
-
@instructions=options[:instructions]
|
72
|
-
@modality=options[:modality]
|
73
|
-
@content_type=options[:content_type]
|
74
|
-
@copyright_status=options[:copyright_status]
|
75
|
-
@editor_content=options[:editor_content]
|
76
|
-
@file_name=options[:file_name]
|
77
|
-
@file_path=options[:file_path]
|
78
|
-
@file_description=options[:file_description]
|
79
|
-
@url=options[:url]
|
80
|
-
@url_title=options[:url_title]
|
81
|
-
@url_description=options[:url_description]
|
82
|
-
raise "Your modality variable must be an Array containing one or more keys\nthat match the checkbox methods, like this:\n[:uncheck_textual, :check_visual, :check_auditory]" unless @modality.class==Array
|
83
|
-
raise "You must specify a Site for your Section" if @site==nil
|
84
|
-
raise "You must specify a Module for your Section" if @module==nil
|
85
|
-
end
|
86
|
-
|
87
|
-
def create
|
88
|
-
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
89
|
-
lessons unless @browser.title=~/Lessons$/
|
90
|
-
reset
|
91
|
-
on_page Lessons do |page|
|
92
|
-
page.open_lesson @module
|
93
|
-
end
|
94
|
-
on_page AddEditModule do |page|
|
95
|
-
page.add_content_sections
|
96
|
-
end
|
97
|
-
on_page AddEditContentSection do |page|
|
98
|
-
page.title=@title
|
99
|
-
page.instructions=@instructions
|
100
|
-
@modality.each do |content|
|
101
|
-
page.send(content)
|
102
|
-
end
|
103
|
-
page.content_type=@content_type unless @content_type==nil
|
104
|
-
sleep 3 # Need to wait for page refresh
|
105
|
-
case @content_type
|
106
|
-
when "Compose content with editor"
|
107
|
-
page.source(page.content_editor)
|
108
|
-
page.source=@editor_content
|
109
|
-
when "Upload or link to a file"
|
110
|
-
page.select_a_file
|
111
|
-
on_page LessonAddAttachment do |subpage|
|
112
|
-
subpage.upload_local_file @file_name, @file_path
|
113
|
-
subpage.continue
|
114
|
-
end
|
115
|
-
page.file_description=@file_description
|
116
|
-
when "Link to new or existing URL resource on server"
|
117
|
-
page.select_url
|
118
|
-
on_page SelectingContent do |subpage|
|
119
|
-
subpage.new_url=@url
|
120
|
-
subpage.url_title=@url_title
|
121
|
-
subpage.continue
|
122
|
-
end
|
123
|
-
page.url_description=@url_description
|
124
|
-
when "Upload or link to a file in Resources"
|
125
|
-
page.select_or_upload_file
|
126
|
-
on_page AddFiles do |subpage|
|
127
|
-
subpage.select @file_name
|
128
|
-
subpage.continue
|
129
|
-
end
|
130
|
-
else
|
131
|
-
raise "You have a typo in what you've specified for your Section's content type.\nIt must be one of the options contained in the dropdown."
|
132
|
-
end
|
133
|
-
page.copyright_status=@copyright_status
|
134
|
-
page.add
|
135
|
-
end
|
136
|
-
end
|
137
|
-
end
|
@@ -1,174 +0,0 @@
|
|
1
|
-
class FileObject
|
2
|
-
|
3
|
-
include PageObject
|
4
|
-
include Utilities
|
5
|
-
include ToolsMenu
|
6
|
-
|
7
|
-
attr_accessor
|
8
|
-
|
9
|
-
def initialize(browser, opts={})
|
10
|
-
@browser = browser
|
11
|
-
|
12
|
-
defaults = {}
|
13
|
-
options = defaults.merge(opts)
|
14
|
-
end
|
15
|
-
|
16
|
-
def create
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
class FolderObject
|
23
|
-
include PageObject
|
24
|
-
include Utilities
|
25
|
-
include ToolsMenu
|
26
|
-
|
27
|
-
attr_accessor :name, :parent_folder, :site
|
28
|
-
|
29
|
-
def initialize(browser, opts={})
|
30
|
-
@browser = browser
|
31
|
-
|
32
|
-
defaults = {
|
33
|
-
:name=>random_alphanums
|
34
|
-
}
|
35
|
-
options = defaults.merge(opts)
|
36
|
-
|
37
|
-
@name = options[:name]
|
38
|
-
@parent_folder = options[:parent_folder]
|
39
|
-
@site = options[:site]
|
40
|
-
raise "You must specify a Site for your Folder" if @site==nil
|
41
|
-
end
|
42
|
-
|
43
|
-
def create
|
44
|
-
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
45
|
-
resources unless @browser.title=~/Resources$/
|
46
|
-
on_page Resources do |page|
|
47
|
-
page.create_subfolders_in @parent_folder
|
48
|
-
end
|
49
|
-
on_page CreateFolders do |page|
|
50
|
-
page.folder_name.set @name
|
51
|
-
page.create_folders_now
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
end
|
56
|
-
|
57
|
-
class WebLinkObject
|
58
|
-
include PageObject
|
59
|
-
include Utilities
|
60
|
-
include ToolsMenu
|
61
|
-
|
62
|
-
attr_accessor
|
63
|
-
|
64
|
-
def initialize(browser, opts={})
|
65
|
-
@browser = browser
|
66
|
-
|
67
|
-
defaults = {}
|
68
|
-
options = defaults.merge(opts)
|
69
|
-
@site = options[:site]
|
70
|
-
raise "You must specify a Site for your Web Link" if @site==nil
|
71
|
-
end
|
72
|
-
|
73
|
-
def create
|
74
|
-
|
75
|
-
end
|
76
|
-
|
77
|
-
end
|
78
|
-
|
79
|
-
class HTMLPageObject
|
80
|
-
|
81
|
-
include PageObject
|
82
|
-
include Utilities
|
83
|
-
include ToolsMenu
|
84
|
-
|
85
|
-
attr_accessor :name, :description, :site, :folder, :html, :url
|
86
|
-
|
87
|
-
def initialize(browser, opts={})
|
88
|
-
@browser = browser
|
89
|
-
|
90
|
-
defaults = {
|
91
|
-
:name=>random_alphanums,
|
92
|
-
:description=>random_multiline(500, 10, :alpha),
|
93
|
-
:html=>"<body>Body</body>"
|
94
|
-
}
|
95
|
-
options = defaults.merge(opts)
|
96
|
-
|
97
|
-
@name = options[:name]
|
98
|
-
@description = options[:description]
|
99
|
-
@site = options[:site]
|
100
|
-
@folder = options[:folder]
|
101
|
-
@html = options[:html]
|
102
|
-
@site = options[:site]
|
103
|
-
raise "You must specify a Site for your HTML Page" if @site==nil
|
104
|
-
end
|
105
|
-
|
106
|
-
def create
|
107
|
-
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
108
|
-
resources unless @browser.title=~/Resources$/
|
109
|
-
on_page Resources do |page|
|
110
|
-
page.create_html_page_in @folder
|
111
|
-
end
|
112
|
-
on_page CreateHTMLPageContent do |page|
|
113
|
-
page.source(page.editor)
|
114
|
-
page.source=@html
|
115
|
-
page.continue
|
116
|
-
end
|
117
|
-
on_page CreateHTMLPageProperties do |page|
|
118
|
-
page.name.set @name
|
119
|
-
page.description.set @description
|
120
|
-
# Put more here as needed later
|
121
|
-
page.finish
|
122
|
-
end
|
123
|
-
on_page Resources do |page|
|
124
|
-
@url = page.href(@name)
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
end
|
129
|
-
|
130
|
-
class TextDocumentObject
|
131
|
-
include PageObject
|
132
|
-
include Utilities
|
133
|
-
include ToolsMenu
|
134
|
-
|
135
|
-
attr_accessor
|
136
|
-
|
137
|
-
def initialize(browser, opts={})
|
138
|
-
@browser = browser
|
139
|
-
|
140
|
-
defaults = {}
|
141
|
-
options = defaults.merge(opts)
|
142
|
-
@site = options[:site]
|
143
|
-
raise "You must specify a Site for your Text Document" if @site==nil
|
144
|
-
end
|
145
|
-
|
146
|
-
def create
|
147
|
-
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
148
|
-
resources unless @browser.title=~/Resources$/
|
149
|
-
end
|
150
|
-
|
151
|
-
end
|
152
|
-
|
153
|
-
class CitationListObject
|
154
|
-
include PageObject
|
155
|
-
include Utilities
|
156
|
-
include ToolsMenu
|
157
|
-
|
158
|
-
attr_accessor
|
159
|
-
|
160
|
-
def initialize(browser, opts={})
|
161
|
-
@browser = browser
|
162
|
-
|
163
|
-
defaults = {}
|
164
|
-
options = defaults.merge(opts)
|
165
|
-
@site = options[:site]
|
166
|
-
raise "You must specify a Site for your Citations List" if @site==nil
|
167
|
-
end
|
168
|
-
|
169
|
-
def create
|
170
|
-
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
171
|
-
resources unless @browser.title=~/Resources$/
|
172
|
-
end
|
173
|
-
|
174
|
-
end
|