Module: Testable::DataSetter
- Defined in:
- lib/testable/extensions/data_setter.rb
Instance Method Summary collapse
-
#using(data) ⇒ Object
(also: #using_data, #use_data, #using_values, #use_values, #use)
The ‘using` method tells Testable to match up whatever data is passed in via the action with element definitions.
Instance Method Details
#using(data) ⇒ Object Also known as: using_data, use_data, using_values, use_values, use
The ‘using` method tells Testable to match up whatever data is passed in via the action with element definitions. If those elements are found, they will be populated with the specified data. Consider the following:
class WarpTravel
include Testable
text_field :warp_factor, id: 'warpInput'
text_field :velocity, id: 'velocityInput'
text_field :distance, id: 'distInput'
end
Assuming an instance of this class called ‘page`, you could do the following:
page.using_data(warp_factor: 1, velocity: 1, distance: 4.3)
This is based on conventions. The idea is that element definitions are written in the form of “snake case” – meaning, underscores between each separate word. In the above example, “warp_factor: 1” would be matched to the ‘warp_factor` element and the value used for that element would be “1”. The default operation for a text field is to enter the value in. It is also possible to use strings:
page.using_data("warp factor": 1, velocity: 1, distance: 4.3)
Here “warp factor” would be converted to “warp_factor”.
60 61 62 63 64 |
# File 'lib/testable/extensions/data_setter.rb', line 60 def using(data) data.each do |key, value| use_data_with(key, value.to_s) if object_enabled_for(key) end end |