tip4commit/tip4commit — pull request #142 by bill-auger (2014-10-31 11:02:57+00:00)
Title: add backlog of feature tests and refactor existing tests 

NOTES:

this commit includes tests for the features implemented on other branches
they are not marked as 'pending' and will be failing before those
feature branches are merged - so it may be best to hold back this PR
unitl all of these are merged
PR #131 - fix inconsistent capitalization of signup/sign-in links
PR #140 - add project avatar image to Project index and show pages
PR #141 - add "sync pending" notice and more pretty urls

the only functional change in this PR is the extension of the pretty project url sceme to the edit, decide_tip_amounts, tips, and deposits routes

many tests were refactored to use the uniform url scheme and to accomodate more test project instances and providers other than github

CHANGES:

* added cucumber test for project management ability of collaborators/non-collaborators
* added cucumber tests for searching and adding projects (PR #140)
* add test for and searching/adding valid and invalid repos
* test also for organization avatar image
* added features/find_or_create_project.feature
* added features/project_steps.rb
* added cucumber tests for signup and sign-in links (PR #131)
* added features/signup_signin.feature
* added features/step_definitions/home_steps.rb
* added cucumber tests for "initial sync pending" notice (PR #141)
* added features/manage_project.feature
* added rspec controller and routing tests for most actions of all controllers
* added spec/controllers/tips_controller_spec.rb
* added spec/controllers/withdrawals_controller_spec.rb
* factored out commonality from some existing steps (ie. "When I visit ...")
* deferred loading of collaborators and commits until project actually "syncs"
* handles up to three test @project instances

FAILING TESTS:

the steps in features/step_definitions/home_steps.rb
"I should see "Sign up" in the header" and
"I should see "Sign out" in the header"
and the steps in features/step_definitions/web.rb
"I'm not logged in"/"I log out"
are failing in this commit because they depend on the feature implemented in PR #131

the step in features/find_or_create_project.feature
"there should be a project avatar image"
is failing in this commit because it depends on the feature implemented in PR #140

the uniform pretty urls feature of project-management branch (PR #141)
is so intrinsic to the generalized "I visit ..." testing paths in this commit
that this branch incorperates it - as most existing tests would fail
without the uniform pretty url routing scheme - the project-management branch and
may even merge until all of the PR mentioned here are up to date -
in any case to minimize merge conflicts it probably best to merge this one last