Comment puis-je vérifier qu'un formulaire pré-rempli avec des valeurs à l'aide de concombre et Webrat?
-
13-09-2019 - |
Question
J'apprends concombre et Webrat avec Rails et je voudrais quelques conseils sur la meilleure façon de tester une forme « d'édition ». Lorsque je navigue au profil d'un utilisateur, je suis présenté avec un formulaire d'édition avec pré-rempli les informations de l'utilisateur dans les champs de formulaire. Je voudrais être en mesure de vérifier que les champs contiennent en fait les informations que je pense. Voici mon scénario:
Scenario: View My Profile
Given I am logged in as "Mike" with password "secret"
When I go to my profile page
Then I should see "Mike" in the "Login" field
And I should see "mike@email.com" in the "Email" field
And I should see a blank "Password" field
And I should see a blank "Password confirmation" field
concombre me dit, à juste titre, que je dois définir les étapes personnalisées suivantes:
Then /^I should see "([^\"]*)" in the "([^\"]*)" field$/ do |arg1, arg2|
pending
end
Then /^I should see a blank "([^\"]*)" field$/ do |arg1|
pending
end
Je suis sûr que je peux comprendre un peu regex méchant pour mettre en œuvre l'évaluation de ces mesures, mais je me sens qu'il doit y avoir quelque chose de déjà existant ou plus élégant que je peux faire. Comment évaluez-vous les formulaires avec les données préétablies dans les champs de formulaire?
La solution
Jetez un oeil à caractéristiques / step_definitions / webrat_steps.rb, la définition de l'étape suivante ressemble à ce que vous cherchez:
Then /^the "([^\"]*)" field should contain "([^\"]*)"$/ do |field, value|
field_labeled(field).value.should =~ /#{value}/
end