Skip to content

Instantly share code, notes, and snippets.

@cannikin
Created November 23, 2016 18:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cannikin/f2feb204b13c816bb9279d42a4958649 to your computer and use it in GitHub Desktop.
Save cannikin/f2feb204b13c816bb9279d42a4958649 to your computer and use it in GitHub Desktop.
<div class="field">
<header class="field-header">
<label class="field-label" for="wnw_form_builder_test_model_name">
Name <small>(required)</small>
</label>
</header>
<div class="field-feedback">
<span class="field-errors"></span>
<span class="field-success"></span>
<span class="field-warning"></span>
</div>
content
</div>
# <div> that wraps everything
assert_select document, wrapper_selector do |wrapper|
# <header> that wraps label
assert_select wrapper, "header.#{default_classes(:header)}" do |header|
# label has classes and `for` attribute
assert_select header, "label.#{default_classes(:label)}" do |label|
# field required output
assert_select label, "small" do |small|
# actual "(required)" text
assert_equal I18n.t('forms.field_required'), small.children.first.text
end
# label text
assert_equal 'Name', label.children.first.text
end
end
# validation error output
assert_select wrapper, error_selector
# validation success output
assert_select wrapper, success_selector
# actual content of field
assert_equal 'content', wrapper.children.last.text
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment