Class: Forums

Inherits:
Object
  • Object
show all
Includes:
PageObject, ToolsMenu
Defined in:
lib/sakai-cle-test-api/site_page_elements.rb

Overview

The forums page in a particular Site

Instance Method Summary collapse

Methods included from ToolsMenu

#account, #administration_workspace, #aliases, #announcements, #assessments, #assignments, #basic_lti, #blogger, #blogs, #calendar, #chat_room, #discussion_forums, #drop_box, #email_archive, #evaluation_system, #feedback, #forms, #forums, #frm, #glossary, #gradebook, #gradebook2, #home, #job_scheduler, #lessons, #logout, #matrices, #media_gallery, #messages, #my_workspace, #news, #open_my_site_by_id, #open_my_site_by_name, #podcasts, #polls, #portfolio_templates, #portfolios, #profile, #profile2, #reset, #resources, #roster, #sections, #site_editor, #site_management_search, #site_setup, #sites, #styles, #syllabus, #tests_and_quizzes, #user_membership, #users, #web_content, #wiki

Instance Method Details

#delete_forum(name) ⇒ Object



3069
3070
3071
3072
3073
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3069

def delete_forum(name)
  index = forum_titles.index(name)
  frm.link(:id=>/msgForum:forums:\d+:delete/,:text=>"Delete", :index=>index).click
  EditForum.new(@browser)
end

#delete_topic(name) ⇒ Object



3075
3076
3077
3078
3079
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3075

def delete_topic(name)
  index = topic_titles.index(name)
  frm.link(:id=>/topics:\d+:delete_confirm/, :text=>"Delete", :index=>index).click
  AddEditTopic.new(@browser)
end

#draft?(title) ⇒ Boolean

Pass this method a string that matches the title of a Forum on the page, it returns True if the specified forum row has “DRAFT” in it.

Returns:

  • (Boolean)


3014
3015
3016
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3014

def draft?(title)
  frm.table(:id=>"msgForum:forums").row(:text=>/#{Regexp.escape(title)}/).span(:text=>"DRAFT").exist?
end

#forum_settings(name) ⇒ Object



3057
3058
3059
3060
3061
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3057

def forum_settings(name)
  index = forum_titles.index(name)
  frm.link(:text=>"Forum Settings", :index=>index).click
  EditForum.new(@browser)
end

#forum_titlesObject



3043
3044
3045
3046
3047
3048
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3043

def forum_titles
  titles = []
  title_links = frm.div(:class=>"portletBody").links.find_all { |link| link.class_name=="title" && link.id=="" }
  title_links.each { |link| titles << link.text }
  return titles
end

#forums_tableObject



3039
3040
3041
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3039

def forums_table
  frm.div(:class=>"portletBody").table(:id=>"msgForum:forums")
end

#new_forumObject



3018
3019
3020
3021
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3018

def new_forum
  frm.link(:text=>"New Forum").click
  EditForum.new(@browser)
end

#new_topic_for_forum(name) ⇒ Object



3023
3024
3025
3026
3027
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3023

def new_topic_for_forum(name)
  index = forum_titles.index(name)
  frm.link(:text=>"New Topic", :index=>index).click
  AddEditTopic.new(@browser)
end

#open_forum(forum_title) ⇒ Object



3081
3082
3083
3084
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3081

def open_forum(forum_title)
  frm.link(:text=>forum_title).click
  # New Class def goes here.
end

#open_topic(topic_title) ⇒ Object



3086
3087
3088
3089
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3086

def open_topic(topic_title)
  frm.link(:text=>topic_title).click
  TopicPage.new(@browser)
end

#organizeObject



3029
3030
3031
3032
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3029

def organize
  frm.link(:text=>"Organize").click
  OrganizeForums.new(@browser)
end

#template_settingsObject



3034
3035
3036
3037
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3034

def template_settings
  frm.link(:text=>"Template Settings").click
  ForumTemplateSettings.new(@browser)
end

#topic_settings(name) ⇒ Object



3063
3064
3065
3066
3067
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3063

def topic_settings(name)
  index = topic_titles.index(name)
  frm.link(:text=>"Topic Settings", :index=>index).click
  AddEditTopic.new(@browser)
end

#topic_titlesObject



3050
3051
3052
3053
3054
3055
# File 'lib/sakai-cle-test-api/site_page_elements.rb', line 3050

def topic_titles
  titles = []
  title_links = frm.div(:class=>"portletBody").links.find_all { |link| link.class_name == "title" && link.id != "" }
  title_links.each { |link| titles << link.text }
  return titles
end