Hi,
I realy like to use capybara’s features spec but I have some questions
about the organisation :
- 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?
- 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?
- 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: '[email protected]', 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!