Class: Dommy::Rails::RSpec::Matchers::HaveCheckableField

Inherits:
Object
  • Object
show all
Defined in:
lib/dommy/rails/rspec/matchers.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, checked:) ⇒ HaveCheckableField

Returns a new instance of HaveCheckableField.



420
421
422
423
# File 'lib/dommy/rails/rspec/matchers.rb', line 420

def initialize(name, checked:)
  @name = name
  @checked = checked
end

Instance Method Details

#descriptionObject



434
435
436
# File 'lib/dommy/rails/rspec/matchers.rb', line 434

def description
  "have #{@checked ? 'checked' : 'unchecked'} field"
end

#does_not_match?(actual) ⇒ Boolean

Returns:

  • (Boolean)


430
431
432
# File 'lib/dommy/rails/rspec/matchers.rb', line 430

def does_not_match?(actual)
  !matches?(actual)
end

#failure_messageObject



438
439
440
# File 'lib/dommy/rails/rspec/matchers.rb', line 438

def failure_message
  "expected to find #{@checked ? 'checked' : 'unchecked'} field"
end

#failure_message_when_negatedObject



442
443
444
# File 'lib/dommy/rails/rspec/matchers.rb', line 442

def failure_message_when_negated
  "expected not to find #{@checked ? 'checked' : 'unchecked'} field"
end

#matches?(actual) ⇒ Boolean

Returns:

  • (Boolean)


425
426
427
428
# File 'lib/dommy/rails/rspec/matchers.rb', line 425

def matches?(actual)
  @matched = Dommy::Rails::PageInspector.checkable_fields(MatchTarget.document(actual), name: @name, checked: @checked)
  @matched.any?
end