Class: OLE_QA::Framework::OLEFS::PREQ_Line_Item

Inherits:
Line_Object show all
Defined in:
lib/olefs/objects/preq_line_item.rb

Overview

A single Line Item in an OLE Financial System Payment Request.

Instance Attribute Summary

Attributes inherited from Line_Object

#line_id, #line_number

Attributes inherited from Common_Object

#elements, #functions, #ole

Instance Method Summary collapse

Methods inherited from Line_Object

#create_subline, #initialize, #remove_subline

Methods inherited from Line_Object

#initialize

Methods inherited from Common_Object

#initialize, #set_functions

Methods included from Helpers

#browser, #load_yml, #set_element, #set_function

Constructor Details

This class inherits a constructor from OLE_QA::Framework::OLEFS::Line_Object

Instance Method Details

#create_accounting_line(which = 1) ⇒ Object Also known as: add_accounting_line



53
54
55
# File 'lib/olefs/objects/preq_line_item.rb', line 53

def create_accounting_line(which = 1)
  create_subline("accounting_line_#{which}","Accounting_Line", which)
end

#create_invoice_notes_line(which = 1) ⇒ Object Also known as: add_invoice_notes_line



48
49
50
# File 'lib/olefs/objects/preq_line_item.rb', line 48

def create_invoice_notes_line(which = 1)
  create_subline("invoice_notes_line_#{which}","Invoice_Notes_Line", which)
end

#remove_accounting_line(which = 1) ⇒ Object Also known as: delete_accounting_line



63
64
65
# File 'lib/olefs/objects/preq_line_item.rb', line 63

def remove_accounting_line(which = 1)
  remove_subline("accounting_line_#{which}")
end

#remove_invoice_notes_line(which = 1) ⇒ Object Also known as: delete_invoice_notes_line



58
59
60
# File 'lib/olefs/objects/preq_line_item.rb', line 58

def remove_invoice_notes_line(which = 1)
  remove_subline("invoice_notes_line_#{which}")
end

#set_elementsObject

Set PREQ line item elements.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/olefs/objects/preq_line_item.rb', line 25

def set_elements
  super
  # Read-Only Elements
  element(:open_quantity_field)                           {b.td(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/td[2]")}
  element(:po_unit_price_field)                           {b.td(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/td[3]")}
  element(:format_field)                                  {b.td(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/td[4]")}
  element(:vendor_item_identifier_field)                  {b.td(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/td[5]")}
  element(:prorated_surcharge_field)                      {b.td(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/td[11]")}
  element(:unit_cost_field)                               {b.td(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/td[12]")}
  element(:extended_cost_field)                           {b.td(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/td[13]")}
  element(:assigned_to_trade_in_field)                    {b.td(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/td[14]")}
  element(:description_field)                             {b.td(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/td[15]")}
  element(:number_of_copies_ordered_field)                {b.text_field(:id => "document.item[#{@line_id}].oleItemQuantity")}
  element(:number_of_parts_ordered_field)                 {b.text_field(:id => "document.item[#{@line_id}].itemNoOfParts")}
  element(:list_price_field)                              {b.text_field(:id => "document.item[#{@line_id}].itemListPrice")}
  element(:discount_field)                                {b.text_field(:id => "document.item[#{@line_id}].itemDiscount")}
  element(:discount_type_selector)                        {b.select_list(:id => "document.item[#{@line_id}].itemDiscountType")}
  element(:edit_bib_button)                               {b.input(:id => "bibEditAddedItemButton_#{@line_id}")}
  element(:delete_button)                                 {b.input(:xpath => "//input[@name='methodToCall.deleteItem.line#{@line_id}']")}
  element(:invoice_notes_toggle)                          {b.input(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/following-sibling::tr[2]/descendant::input[starts-with(@id,'tab-Notes')]")}
  element(:accounting_lines_toggle)                       {b.input(:xpath => "//div[@id='tab-ProcessItems-div']/descendant::table/tbody/tr[th[contains(text(),'Item Line #')]]/following-sibling::tr[td/b[contains(text(),'#{@line_number}')]]/following-sibling::tr[3]/descendant::input[starts-with(@id,'tab-AccountingLines')]")}
end

#set_sublinesObject

Create accessor methods for new subline objects.



19
20
21
22
# File 'lib/olefs/objects/preq_line_item.rb', line 19

def set_sublines
  create_subline("new_invoice_notes_line","New_Invoice_Notes_Line")
  create_subline("new_accounting_line","New_Accounting_Line")
end