Best practices for capybara's features spec?

76 views
Skip to first unread message

Guirec Corbel

unread,
Jul 19, 2013, 2:18:05 PM7/19/13
to rubyonra...@googlegroups.com
Hi,
 
I realy like to use capybara's features spec but I have some questions about the organisation :
 
1. How should I group the features specs?
-----------------------------------------

For the moment, I try to group by controllers. For example, I can have a file "users_spec.rb", "artists_spec.rb", etc... Maybe it's better to group by user story... What do you think?
 
 
2. What is a "very high level"?
-------------------------------
I try to keep my features specs at a very high level. I test only the interactions between the user and the application. I test only the "happy path". You can find one example of my tests here :
https://github.com/GCorbel/lescollectionneursassocies/blob/master/spec/acceptances/artists_spec.rb
.
 
I do specs for controllers, mailers, models, etc. but is it good to also check if a new record is added or if a mail is send in a feature spec?
 
I think it's not an implementation detail. The user want to have and email sended and a user created. If I check if a user is created, should I test if there is a new model or should I go to the index page and check if the user exist?
 
 
3. Is it possible to drop all technical details outside the scenario?
---------------------------------------------------------------------
In some scenario, I can have this :
 
    create_home_page
    sign_in
    AdminUser.create!(email: 'ad...@example.com', password: 'test1234')
    #... my scenario
 
This is not related to what the client want to have. It's only implementation details. I know I can put it on a background but, if I have many scenarios, I should do one background per scenario. I think it's not very clean. I like to have a clean file and I don't want to use describe and contexts on a feature spec. What do you think?
 
 
So, what do you think about all of this subjects. Your opinion will be very appreciated.
 
Bye!
Reply all
Reply to author
Forward
0 new messages