Class: AdminModule::Pages::GuidelinesVersionAllPage

Inherits:
Object
  • Object
show all
Includes:
PageObject
Defined in:
lib/admin_module/pages/guidelines_version_all_page.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



15
16
17
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 15

def errors
  @errors
end

Class Method Details

.available_gdls_idObject

This must be a class method so it’s available for the control method generation methods.



27
28
29
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 27

def self.available_gdls_id
  'ctl00_cntPlh_tsGuidelines_lstAvailable'
end

Instance Method Details

#add_error(err_msg) ⇒ Object



106
107
108
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 106

def add_error err_msg
  errors << err_msg
end

#capture_errorsObject



110
111
112
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 110

def capture_errors
  add_error(version_errors) unless (!version_errors? || version_errors.empty?)
end

#get_dynamic_urlObject

page_url(:get_dynamic_url)



19
20
21
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 19

def get_dynamic_url
  AdminModule.configuration.base_url + "/admin/decision/versionAllGuideline.aspx"
end

#get_guidelinesObject



56
57
58
59
60
61
62
63
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 56

def get_guidelines
  gdl_list = []
  Nokogiri::HTML(@browser.html).css("select##{GuidelinesVersionAllPage.available_gdls_id}>option").each do |elem|
    gdl_list << elem.text
  end

  gdl_list
end

#has_errors?Boolean

Returns:

  • (Boolean)


102
103
104
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 102

def has_errors?
  errors.size > 0
end

#raise_if_errorsObject



114
115
116
117
118
119
120
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 114

def raise_if_errors
  if has_errors?
    error = ''
    errors.each { |err| error << err + "\n" }
    raise error
  end
end

#reset_errorsObject



98
99
100
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 98

def reset_errors
  errors = []
end

#version(gdl_names, comments = nil) ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/admin_module/pages/guidelines_version_all_page.rb', line 65

def version(gdl_names, comments = nil)
  gdl_names = Array(gdl_names)

  if comments.nil?
    comments = "auto version"
  end
  self.version_notes = comments

  reset_errors

  # Add guidelines to be versioned to the selected area.
  gdl_names.each do |gdl|
    guidelines_available_element.select(gdl)
    self.add_guideline_button
  end

  self.save_button

  capture_errors

  # Return the url of the version guideline page.
  current_url

rescue Timeout::Error => e
    add_error 'Timeout occurred. Try adjusting the browser_timeout configuration option.'

rescue Exception => e
    add_error e.message

ensure
  raise_if_errors
end