Forum: RSpec About the use of Scenario Outline for validation stuff

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Jérémy FRERE (Guest)
on 2009-04-23 20:44
(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
fill
in the fields using <value>, and press the create button. Then you
"should
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
in
the list

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

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
should
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
shouldn't
be interpreted if VAT not added

Examples:
  | 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
numeric
value |
****************************************************************************************************
Matt W. (Guest)
on 2009-04-24 08:36
(Received via mailing list)
On 23 Apr 2009, at 17:03, Jérémy FRERE wrote:

>
> And after that, in the objects list, you "should see" the created
> object in the list
>
> Assuming that the object has been created, you will see it in the
> list BUT if it has NOT been created, you won't. And, in my case, it
> will end in an error
>
> So my questions are :
> - Is it possible, using some trick, to use some conditions inside
> the .feature file ?

Don't forget you don't have to just use the subsitutions for field
values - you can change any of the text in a step. So it's pretty easy
to negate things:

And the VAT "<caption>" <might> be present in the VAT list

Examples:
   | caption | value  |
message                                                     |
might      |
   | Normal  | 19.6   | VAT Normal well
created                                     | should     |
   |         | 19.6   | You are supposed to fill the caption
field                  | should not |
   | Normal  |        | You are supposed to fill the VAT
field                      | should not |
   | Normal  | test   | You are supposed to fill the VAT field with a
numeric value | should not |


Matt W.
http://blog.mattwynne.net
http://www.songkick.com
This topic is locked and can not be replied to.