Class: WikiObject

Inherits:
Object
  • Object
show all
Includes:
PageHelper, Utilities, Workflows
Defined in:
lib/sakai-cle-test-api/data_objects/wiki.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Workflows

menu_link, #open_my_site_by_name

Methods included from Utilities

#current_hour, #current_month, #current_year, #get_filename, #in_15_minutes, #last_hour, #last_month, #last_year, #make, #make_date, #next_hour, #next_month, #next_year, #on_page, #random_alphanums, #random_alphanums_plus, #random_email, #random_high_ascii, #random_letters, #random_multiline, #random_nicelink, #random_string, #random_xss_string, #tomorrow, #yesterday

Methods included from PageHelper

#make, #on, #visit, #wait_until

Constructor Details

#initialize(browser, opts = {}) ⇒ WikiObject

Returns a new instance of WikiObject.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/sakai-cle-test-api/data_objects/wiki.rb', line 9

def initialize(browser, opts={})
  @browser = browser

  defaults = {
    :title=>random_alphanums,
    :content=>"{worksiteinfo}\n{sakai-sections}"
  }
  options = defaults.merge(opts)

  @title=options[:title]
  @content=options[:content]
  @site=options[:site]
  raise "You need to specify a site for your wiki" if @site==nil
end

Instance Attribute Details

#contentObject

Returns the value of attribute content.



7
8
9
# File 'lib/sakai-cle-test-api/data_objects/wiki.rb', line 7

def content
  @content
end

#hrefObject

Returns the value of attribute href.



7
8
9
# File 'lib/sakai-cle-test-api/data_objects/wiki.rb', line 7

def href
  @href
end

#siteObject

Returns the value of attribute site.



7
8
9
# File 'lib/sakai-cle-test-api/data_objects/wiki.rb', line 7

def site
  @site
end

#titleObject Also known as: name

Returns the value of attribute title.



7
8
9
# File 'lib/sakai-cle-test-api/data_objects/wiki.rb', line 7

def title
  @title
end

Instance Method Details

#createObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/sakai-cle-test-api/data_objects/wiki.rb', line 26

def create
  open_my_site_by_name @site unless @browser.title=~/#{@site}/
  wiki unless @browser.title=~/Wiki$/
  on Rwiki do |home|
    home.edit
    @current_content = home.content.value
    @updated_content = "[#{@title}]\n\n"+@current_content
    home.content.set @updated_content
    home.save
    @href = home.wiki_href "#{@title}?"
    home.open_wiki "#{@title}?"
    home.edit
    home.content.set @content
    home.save
  end
end

#edit(opts = {}) ⇒ Object



43
44
45
46
47
48
49
50
51
# File 'lib/sakai-cle-test-api/data_objects/wiki.rb', line 43

def edit opts={}
  open_my_site_by_name @site unless @browser.title=~/#{@site}/
  wiki unless @browser.title=~/Wiki$/
  on Rwiki do |edit|
    edit.open_wiki @title
    edit.edit
    # TODO more here
  end
end