Class: BudgetColumnObject

Inherits:
Object
  • Object
show all
Includes:
DataFactory, Foundry, Navigation, StringFactory
Defined in:
lib/kuality-coeus/data_objects/maintenance/budget_column.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Navigation

#doc_search, #fill_out, #fill_out_item, #on_document?, #on_page?, #open_document, #window_cleanup

Methods included from Utilities

#get, #make_role, #make_user, #random_percentage, #set, #snake_case

Constructor Details

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

Returns a new instance of BudgetColumnObject.



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/kuality-coeus/data_objects/maintenance/budget_column.rb', line 10

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

  defaults = {
      name:            '::random::',
      has_lookup:      :set,
      lookup_argument: '::random::',
      lookup_return:   '::random::'
  }

  set_options(defaults.merge(opts))
end

Instance Attribute Details

#has_lookupObject

Returns the value of attribute has_lookup.



8
9
10
# File 'lib/kuality-coeus/data_objects/maintenance/budget_column.rb', line 8

def has_lookup
  @has_lookup
end

#lookup_argumentObject

Returns the value of attribute lookup_argument.



8
9
10
# File 'lib/kuality-coeus/data_objects/maintenance/budget_column.rb', line 8

def lookup_argument
  @lookup_argument
end

#lookup_returnObject

Returns the value of attribute lookup_return.



8
9
10
# File 'lib/kuality-coeus/data_objects/maintenance/budget_column.rb', line 8

def lookup_return
  @lookup_return
end

#nameObject

Returns the value of attribute name.



8
9
10
# File 'lib/kuality-coeus/data_objects/maintenance/budget_column.rb', line 8

def name
  @name
end

Instance Method Details

#createObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/kuality-coeus/data_objects/maintenance/budget_column.rb', line 23

def create
  if exists?
    edit has_lookup: @has_lookup, lookup_argument: @lookup_argument,
         lookup_return: @lookup_return
  else
    on(BudgetColumnsToAlterLookup).create
    on BudgetColumnToAlter do |create|
      create.description.set random_alphanums
      # Note: can't use fill_out here because field
      # selection can't be in a random order.
      create.name.pick! @name
      create.has_lookup.fit @has_lookup
      create.lookup_argument.pick! @lookup_argument
      create.lookup_return.pick! @lookup_return
      create.blanket_approve
    end
  end
end

#edit(opts = {}) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/kuality-coeus/data_objects/maintenance/budget_column.rb', line 50

def edit opts={}
  view(true)
  on BudgetColumnToAlter do |edit|
    edit.description.set random_alphanums
    edit.has_lookup.fit opts[:has_lookup]
    edit.lookup_argument.pick! opts[:lookup_argument]
    edit.lookup_return.pick! opts[:lookup_return]
    edit.blanket_approve
  end
  update_options opts
end

#exists?Boolean

Returns:

  • (Boolean)


62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/kuality-coeus/data_objects/maintenance/budget_column.rb', line 62

def exists?
  # TODO: This will need to be made more robust at some point because not every user will have permissions
  # To keep it simple for now, just be sure this code is run very early in scenarios.
  $users.admin. if $users.current_user==nil
  visit Maintenance do |page|
    if Login.new(@browser).username.present?
      UserObject.new(@browser).
    end
    page.budget_editable_columns
  end
  on BudgetColumnsToAlterLookup do |look|
    look.column_name.select @name
    look.search

    begin
      if look.results_table.present?
        return true
      else
        return false
      end
    rescue
      return false
    end

  end
end

#view(in_class = false) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/kuality-coeus/data_objects/maintenance/budget_column.rb', line 42

def view(in_class=false)
  if in_class
    # add navigation code here, because we're using this method outside
    # of the class methods
  end
  on(BudgetColumnsToAlterLookup).edit_first_item
end