Sha256: cbcac013e31354b95499c67ceb0c024a1ea89e88ddb9058fda07d29488a83501

Contents?: true

Size: 1.67 KB

Versions: 5

Compression:

Stored size: 1.67 KB

Contents

##############################################################################
# File::    workflow_details_page.rb
# Purpose:: Guidelines page for AdminModule
#
# Author::    Jeff McAffee 2013-12-12
#
##############################################################################
require 'page-object'

module AdminModule::Pages
  class WorkflowDetailsPage
    include PageObject

    page_url(:get_dynamic_url)

    def get_dynamic_url
      AdminModule.configuration.base_url + "/admin/security/workflows.aspx"
    end

    select_list(:states,
                id: 'ctl00_cntPlh_elStates_lstItems')

    button(:add_button,
          id: 'ctl00_cntPlh_elStates_btnAdd')

    button(:modify_button,
          id: 'ctl00_cntPlh_elStates_btnModify')

    button(:delete_button,
          id: 'ctl00_cntPlh_elStates_btnDelete')

    def get_stages
      stage_list = []
      Nokogiri::HTML(@browser.html).css("select#ctl00_cntPlh_elStates_lstItems>option").each do |elem|
        stage_list << elem.text
      end

      stage_list
    end

    def modify stage_name
      states_element.select stage_name
      self.modify_button

      # Return the page object of the next page.
      WorkflowDetailPage.new(@browser, false)
    end

    def delete stage_name
      raise ArgumentError, "Missing stage name" if stage_name.nil? || stage_name.empty?
      raise ArgumentError, "Stage name '#{name}' does not exist" if !states_options.include?(stage_name)

      states_element.select stage_name
      self.delete_button

      self
    end

    def add
      self.add_button

      # Return the page object of the next page.
      WorkflowDetailPage.new(@browser, false)
    end
  end # class
end # module

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
admin_module-0.1.8 lib/admin_module/pages/workflow_details_page.rb
admin_module-0.1.7 lib/admin_module/pages/workflow_details_page.rb
admin_module-0.1.6 lib/admin_module/pages/workflow_details_page.rb
admin_module-0.1.5 lib/admin_module/pages/workflow_details_page.rb
admin_module-0.1.4 lib/admin_module/pages/workflow_details_page.rb