Class: TestCentricity::ExcelDataSource

Inherits:
DataSource show all
Defined in:
lib/testcentricity_web/data_objects/data_objects_helper.rb

Direct Known Subclasses

EnvironData

Instance Attribute Summary collapse

Attributes inherited from DataSource

#file_path, #node

Instance Method Summary collapse

Methods inherited from DataSource

#read_json_node_data, #read_yaml_node_data, #write_json_node_data, #write_yaml_node_data

Instance Attribute Details

#row_specObject

Returns the value of attribute row_spec.



142
143
144
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 142

def row_spec
  @row_spec
end

#worksheetObject

Returns the value of attribute worksheet.



141
142
143
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 141

def worksheet
  @worksheet
end

Instance Method Details

#pick_excel_data_source(sheet, row_spec) ⇒ Object



144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 144

def pick_excel_data_source(sheet, row_spec)
  @worksheet = sheet
  if ENV['TEST_ENVIRONMENT']
    environment = ENV['TEST_ENVIRONMENT']
    data_file = "#{PRIMARY_DATA_PATH}#{environment}_data.xls"
    data_file = XL_PRIMARY_DATA_FILE unless ExcelData.row_spec_exists?(data_file, @worksheet, row_spec)
  else
    data_file = XL_PRIMARY_DATA_FILE
  end
  @file_path = data_file
  data_file
end

#read_excel_pool_data(sheet, row_name, parallel = false) ⇒ Object



162
163
164
165
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 162

def read_excel_pool_data(sheet, row_name, parallel = false)
  @row_spec = parallel == :parallel && ENV['PARALLEL'] ? "#{row_name}#{ENV['TEST_ENV_NUMBER']}" : row_name
  ExcelData.read_row_from_pool(pick_excel_data_source(sheet, row_name), sheet, @row_spec)
end

#read_excel_range_data(sheet, range_name) ⇒ Object



167
168
169
170
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 167

def read_excel_range_data(sheet, range_name)
  @row_spec = range_name
  ExcelData.read_range_data(pick_excel_data_source(sheet, range_name), sheet, range_name)
end

#read_excel_row_data(sheet, row_name, parallel = false) ⇒ Object



157
158
159
160
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 157

def read_excel_row_data(sheet, row_name, parallel = false)
  @row_spec = parallel == :parallel && ENV['PARALLEL'] ? "#{row_name}#{ENV['TEST_ENV_NUMBER']}" : row_name
  ExcelData.read_row_data(pick_excel_data_source(sheet, @row_spec), sheet, @row_spec)
end

#write_excel_row_data(sheet, row_name, row_data, parallel = false) ⇒ Object



172
173
174
175
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 172

def write_excel_row_data(sheet, row_name, row_data, parallel = false)
  @row_spec = parallel == :parallel && ENV['PARALLEL'] ? "#{row_name}#{ENV['TEST_ENV_NUMBER']}" : row_name
  ExcelData.write_row_data(pick_excel_data_source(sheet, @row_spec), sheet, @row_spec, row_data)
end