sakai-cle-test-api 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -2
- data/README.md +1 -2
- data/lib/sakai-cle-test-api/data_objects/assignment.rb +1 -1
- data/lib/sakai-cle-test-api/data_objects/forum.rb +41 -0
- data/lib/sakai-cle-test-api/data_objects/message.rb +57 -0
- data/lib/sakai-cle-test-api/data_objects/wiki.rb +1 -1
- data/lib/sakai-cle-test-api/page_objects/assignments.rb +1 -2
- data/lib/sakai-cle-test-api/utilities.rb +4 -4
- data/sakai-cle-test-api.gemspec +1 -1
- metadata +4 -2
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -13,7 +13,6 @@ Ruby and Watir-webdriver--but without needing to know either in detail.
|
|
13
13
|
|
14
14
|
### Ruby Gems:
|
15
15
|
[Watir-Webdriver](http://www.watirwebdriver.com)
|
16
|
-
[Page-Object](https://github.com/cheezy/page-object)
|
17
16
|
|
18
17
|
If you're just going to use the API for testing, then simply install it as you would any other Ruby gem: `gem install sakai-cle-test-api`
|
19
18
|
|
@@ -33,7 +32,7 @@ sakai = SakaiCLE.new(:chrome, "https://cle-1.qa.rsmart.com/xsl-portal")
|
|
33
32
|
workspace = sakai.login("username", "password")
|
34
33
|
````
|
35
34
|
|
36
|
-
For much more extensive examples of using this API, please see the CLE Cucumber directory in this repo.
|
35
|
+
For much more extensive examples of using this API, please see the CLE Cucumber directory in this repo. (Coming soon...)
|
37
36
|
|
38
37
|
## Contribute
|
39
38
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Note that this class is for icon-sakai-forums. NOT jforums.
|
2
|
+
class ForumObject
|
3
|
+
|
4
|
+
include PageHelper
|
5
|
+
include Utilities
|
6
|
+
include Workflows
|
7
|
+
|
8
|
+
attr_accessor :site, :title, :short_description, :description
|
9
|
+
|
10
|
+
def initialize(browser, opts={})
|
11
|
+
@browser = browser
|
12
|
+
|
13
|
+
defaults = {
|
14
|
+
:title=>random_alphanums
|
15
|
+
}
|
16
|
+
options = defaults.merge(opts)
|
17
|
+
|
18
|
+
@site=options[:site]
|
19
|
+
@title=options[:title]
|
20
|
+
@short_description=options[:short_description]
|
21
|
+
@description=options[:description]
|
22
|
+
raise "You need to specify a site for your Forum" if @site==nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def create
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
def edit opts={}
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
def view
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
def delete
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
class MessageObject
|
2
|
+
|
3
|
+
include PageHelper
|
4
|
+
include Utilities
|
5
|
+
include Workflows
|
6
|
+
|
7
|
+
attr_accessor :site, :subject, :send_cc, :recipients, :message, :label
|
8
|
+
|
9
|
+
def initialize(browser, opts={})
|
10
|
+
@browser = browser
|
11
|
+
|
12
|
+
defaults = {
|
13
|
+
:subject=>random_alphanums,
|
14
|
+
:recipients=>["All Participants"]
|
15
|
+
}
|
16
|
+
options = defaults.merge(opts)
|
17
|
+
|
18
|
+
@subject=options[:subject]
|
19
|
+
@recipients=options[:recipients]
|
20
|
+
@site=options[:site]
|
21
|
+
@message=options[:message]
|
22
|
+
@label=options[:label]
|
23
|
+
raise "You need to specify a site for your web content" if @site==nil
|
24
|
+
end
|
25
|
+
|
26
|
+
def create
|
27
|
+
open_my_site_by_name @site unless @browser.title=~/#{@site}/
|
28
|
+
messages unless @browser.title=~/Messages$/
|
29
|
+
end
|
30
|
+
|
31
|
+
alias compose create
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
class MessageFolderObject
|
38
|
+
|
39
|
+
include PageHelper
|
40
|
+
include Utilities
|
41
|
+
include Workflows
|
42
|
+
|
43
|
+
attr_accessor :site
|
44
|
+
|
45
|
+
def initialize(browser, opts={})
|
46
|
+
@browser = browser
|
47
|
+
|
48
|
+
defaults = {}
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
def create
|
53
|
+
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -197,11 +197,10 @@ class AssignmentsList < AssignmentsBase
|
|
197
197
|
end
|
198
198
|
|
199
199
|
# Clicks the Edit link for the Assignment specified.
|
200
|
-
#
|
200
|
+
# next is the AssignmentAdd page class.
|
201
201
|
def edit_assignment(assignment_name)
|
202
202
|
index = assignments_titles.index(assignment_name)
|
203
203
|
frm.link(:text=>"Edit", :index=>index).click
|
204
|
-
AssignmentAdd.new(@browser)
|
205
204
|
end
|
206
205
|
|
207
206
|
# Checks the appropriate checkbox, based on the specified assignment_name
|
@@ -87,13 +87,13 @@ module Utilities
|
|
87
87
|
# the method does not allow the line count to be larger than
|
88
88
|
# the word count and will "fix" it if it is).
|
89
89
|
#
|
90
|
-
# If no
|
90
|
+
# If no parameters are provided, the method will return two alphanumeric
|
91
91
|
# "words" on two lines.
|
92
92
|
#
|
93
|
-
# The last
|
93
|
+
# The last parameter the method takes will determine the character content
|
94
94
|
# of the string, viz.:
|
95
95
|
#
|
96
|
-
# :alpha => Alphanumeric
|
96
|
+
# :alpha => "Alphanumeric" - Uses the random_alphanums method
|
97
97
|
# :string => uses the random_string method, so chars 33 through 128 will be included
|
98
98
|
# :ascii => All ASCII chars from 33 to 256 are fair game -> uses random_high_ascii
|
99
99
|
def random_multiline(word_count=2, line_count=2, char_type=:alpha)
|
@@ -111,7 +111,7 @@ module Utilities
|
|
111
111
|
non_words.shuffle! # Have to shuffle the line feeds around!
|
112
112
|
array = words.zip(non_words)
|
113
113
|
array.flatten!
|
114
|
-
|
114
|
+
array.join("")
|
115
115
|
end
|
116
116
|
|
117
117
|
# Picks at random from the list of XSS test strings, using
|
data/sakai-cle-test-api.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
spec = Gem::Specification.new do |s|
|
2
2
|
s.name = 'sakai-cle-test-api'
|
3
|
-
s.version = '0.1.
|
3
|
+
s.version = '0.1.1'
|
4
4
|
s.summary = %q{Sakai-CLE functional testing API for the rSmart Collaborative Learning Environment}
|
5
5
|
s.description = %q{The Sakai-CLE gem provides an API for interacting with pages and page elements in rSmart's deployment of the Sakai Collaborative Learning Environment.}
|
6
6
|
s.files = Dir.glob("**/**/**")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sakai-cle-test-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: watir-webdriver
|
@@ -58,7 +58,9 @@ files:
|
|
58
58
|
- lib/sakai-cle-test-api/data_objects/assessment.rb
|
59
59
|
- lib/sakai-cle-test-api/data_objects/assignment.rb
|
60
60
|
- lib/sakai-cle-test-api/data_objects/event.rb
|
61
|
+
- lib/sakai-cle-test-api/data_objects/forum.rb
|
61
62
|
- lib/sakai-cle-test-api/data_objects/lesson.rb
|
63
|
+
- lib/sakai-cle-test-api/data_objects/message.rb
|
62
64
|
- lib/sakai-cle-test-api/data_objects/resource.rb
|
63
65
|
- lib/sakai-cle-test-api/data_objects/site.rb
|
64
66
|
- lib/sakai-cle-test-api/data_objects/syllabus.rb
|