Forum: RSpec [Rspec, Cucumber] About the use of Scenario Outline for validation stuff

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Jérémy FRERE (Guest)
on 2009-04-24 12:27
(Received via mailing list)
Hi there !
I was wondering if the way I test the validation of my forms is right or
not. So here's a little example :
Imagine you have a form with some validations designed to create some
object. You want to test it using Scenario Outline and Examples. So you
in the fields using <value>, and press the create button. Then you
see" (using webrat) the <message> telling you
- that the object has been well created
- that some field isn't well filled

And after that, in the objects list, you "should see" the created object
the list

Assuming that the object has been created, you will see it in the list
if it has NOT been created, you won't. And, in my case, it will end in

So my questions are :
- Is it possible, using some trick, to use some conditions inside the
.feature file ?
- Do you think it's a good use of Scenario Outline ? Or you think I
have split it into 2 different scenarios (1 with working stuff, 1 with
validation errors)

I hope I'm clear. If I'm not, here's an example code of what I'm talking
about :Scenario Outline: Create a VAT
Given I am logged in as a SuperAdmin user
When I go to the VATs page
And I follow "New VAT"
And I fill in "vat_caption" with "<caption>"
And I fill in "vat_value" with "<value>"
And I press "Créer"
Then I should see "<message>"
And the VAT "<caption>" should be present in the VAT list
<==================== What it's all about, works if VAT added, but
be interpreted if VAT not added

  | caption | value | message |
  | Normal | 19.6 | VAT Normal well created |
  | | 19.6 | You are supposed to fill the caption field |
  | Normal | | You are supposed to fill the VAT field |
  | Normal | test | You are supposed to fill the VAT field with a
value |
This topic is locked and can not be replied to.