Initial commit
Set up RSpec for our application.

We set up the Gemfile and ran "rails g rspec:install" to allow testing
to run properly.
Created User model
Do not use I18N

Turn off deprecation warning for I18N so that the RSpec output looks
nice again.  Simple change that shouldn't normally be put into a
production code since we would most likely want to check our locales
properly.
Validate User attributes exist.

Simple tests and code to ensure that all user attributes exist and
have a non-blank value.
A few more tests for User model.

There are just a few more tests for the model that check for things
like a reasonable name and no duplicates in the system.
Add routes for Users controller.

Use standard REST-ful routing for Users.
Create Users controller.

Simple use of rails generate to create users controller.
Create tests for Users#index.

These three simple tests ensure that the Users index has a title, a count
of the number of users, and that all the users are listed on that
page.
Pass tests for Users#index.

We add the right text and iterate through the users to get the output
expected by our tests for this action.
Refactor Users#index.

We use a partial to make the user index more concise.  All tests still
pass.
Begin using FactoryGirl.

We import the gem and then use it instead of explicitly calling
User.create() to be able to handle creation of users in our tests.
Use named route for test

We specifically use users_path instead of '/users' for
generalizability.
Add tests for creating new users

We add several tests to check that new users can be created properly.
Nothing special in that idea, but as part of the process, we added a
helper function to the testing framework that checks for alert
messages that are of the proper format named have_alert().  That
method takes two parameters that include the alert type and any
options that need to be passed on to have_selector().  The
implementation is yet to be completed since the student does not
currently know about flash messages and therefore what the content of
the have_selector() call should even look like.  That will be
completed in future commits.
Create new user form with password field.

In this commit, we simply create a new form for uploading users.
Currently, it only has a password field, so it is not very helpful,
but future commits will fix that.
Fix test to use describe instead of it

The broken test accidentally created a nested test with it instead of
describe.  This commit fixes that error.
Complete new user form.

This commit now properly creates a form for creating a new user on the
site.
Allow a User to be created.

We accept a user with name, email, and password to be created using
the form from the new action.  All requests are automatically
redirected to the index action.
Display welcome message on user creation.

We display a welcome message using the flash object when creating a
new user including a CSS class to mark it for later use.
Handle failure to create new user

We add in additional code to handle when a user is not created for
improper validation or other reasons.