Class: PencilPusher::HaveRequiredChoiceField
- Inherits:
-
Object
- Object
- PencilPusher::HaveRequiredChoiceField
show all
- Includes:
- Matchers
- Defined in:
- lib/pencil_pusher/have_required_choice_field.rb
Instance Method Summary
collapse
Methods included from Matchers
#have_errors, #have_int_field, #have_required_choice_field, #have_required_field, #have_required_float_field, #have_required_int_field, #have_required_text_field, #have_text_field
Constructor Details
#initialize(field_name, valid_values, blank_error, invalid_error) ⇒ HaveRequiredChoiceField
Returns a new instance of HaveRequiredChoiceField.
5
6
7
8
9
10
|
# File 'lib/pencil_pusher/have_required_choice_field.rb', line 5
def initialize(field_name, valid_values, blank_error, invalid_error)
@field_name = field_name
@valid_values = valid_values
@blank_error = blank_error
@invalid_error = invalid_error
end
|
Instance Method Details
#description ⇒ Object
38
39
40
|
# File 'lib/pencil_pusher/have_required_choice_field.rb', line 38
def description
"have required choice field #{field_name}"
end
|
#failure_message_for_should(actual, two) ⇒ Object
Also known as:
failure_message
27
28
29
|
# File 'lib/pencil_pusher/have_required_choice_field.rb', line 27
def failure_message_for_should(actual, two)
@error
end
|
#failure_message_for_should_not(actual) ⇒ Object
Also known as:
failure_message_when_negated
31
32
33
|
# File 'lib/pencil_pusher/have_required_choice_field.rb', line 31
def failure_message_for_should_not(actual)
"expected #{actual} to not have required choice field #{field_name} but did"
end
|
#matches?(form) ⇒ Boolean
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/pencil_pusher/have_required_choice_field.rb', line 12
def matches?(form)
begin
form.should have_required_field(field_name, blank_error)
builder = FormBuilder.builder(form)
builder.call(field_name => 'invalid_value').should have_errors(field_name, [invalid_error])
valid_values.each do |valid_value|
builder.call(field_name => valid_value.to_s).should_not have_errors(field_name)
end
rescue => e
@error = e.message
raise e
end
true
end
|