8.2 Signin Success

Having handled a failed signin, we now need to actually sign a user in.
Getting there will require some of the most challenging Ruby programming
so far in this tutorial, so hang in there through the end and be
prepared for a little heavy lifting. Happily, the first step is
easy—completing the Sessions controller create action is a snap.
Unfortunately, it’s also a cheat.
8.2 Signin Success (2)

Delete file error in root that showed error messages...

Having handled a failed signin, we now need to actually sign a user in.
Getting there will require some of the most challenging Ruby programming
so far in this tutorial, so hang in there through the end and be
prepared for a little heavy lifting. Happily, the first step is
easy—completing the Sessions controller create action is a snap.
Unfortunately, it’s also a cheat.
8.3 Introduction to Cucumber

Having finished the foundation of the sample application’s
authentication system, we’re going to take this opportunity to show how
to write signin tests using Cucumber, a popular tool for behavior-driven
development that enjoys significant popularity in the Ruby community.
This section is optional and can be skipped without loss of continuity.

Cucumber allows the definition of plain-text stories describing
application behavior. Many Rails programmers find Cucumber especially
convenient when doing client work; since they can be read even by
non-technical users, Cucumber tests can be shared with (and can
sometimes even be written by) the client. Of course, using a testing
framework that isn’t pure Ruby has a downside, and I find that the
plain-text stories can be a bit verbose. Nevertheless, Cucumber does
have a place in the Ruby testing toolkit, and I especially like its
emphasis on high-level behavior over low-level implementation.