dellcloudedge/barclamp-crowbar — pull request #255 by cloudedge (2012-10-30 20:51:06+00:00)
Title: Dashboard Drag and Drop + BDD testing refactors [1/1]

This pull ended up being a BIG TUB of stuff.

The original objective was to get Dashboard Drag & Drop Working.
That is included and it works.

That required getting node, group, node/group API working.
That required getting BDD tests setup for the API
That drove refactoring of BDD to make it easier to test REST

There is a lot of refactoring of BDD included in this pull.

There are also some BDD goodies including:
1) inspector to test if BDD leaves artifacts
2) step generator shows steps
3) dev.erl can be used to populate (and depop) a system to UI dev

I also picked up a minor item to hide menu items under the dev flag.
That led me to change the menus to give "dev mode" context using [brackets]

crowbar_framework/BDD/bdd.erl | 80 ++++++--
crowbar_framework/BDD/bdd_restrat.erl | 58 ++++++
crowbar_framework/BDD/bdd_utils.erl | 59 +++---
crowbar_framework/BDD/bdd_webrat.erl | 39 +----
crowbar_framework/BDD/crowbar.config | 2 +-
crowbar_framework/BDD/crowbar.erl | 65 +------
crowbar_framework/BDD/crowbar_rest.erl | 145 +++++++++++++
crowbar_framework/BDD/dashboard.erl | 37 +++-
crowbar_framework/BDD/default.config | 2 +-
crowbar_framework/BDD/dev.erl | 56 +++++
crowbar_framework/BDD/features/bulk_edit.feature | 6 +-
crowbar_framework/BDD/features/dashboard.feature | 7 +
crowbar_framework/BDD/features/groups.feature | 35 +++-
crowbar_framework/BDD/features/navigation.feature | 2 +-
crowbar_framework/BDD/features/nodes.feature | 18 ++-
crowbar_framework/BDD/features/users.feature | 32 +++
crowbar_framework/BDD/groups.erl | 76 +++++---
crowbar_framework/BDD/json.erl | 11 +-
crowbar_framework/BDD/linux_compile.sh | 2 +-
crowbar_framework/BDD/nodes.erl | 56 +++++-
crowbar_framework/BDD/simple_auth.erl | 2 +-
crowbar_framework/BDD/users.erl | 83 ++++++++
.../app/controllers/groups_controller.rb | 13 +-
.../app/controllers/nodes_controller.rb | 24 +--
crowbar_framework/app/models/group.rb | 1 +
crowbar_framework/app/views/nodes/_form.html.haml | 37 ----
crowbar_framework/app/views/nodes/edit.html.haml | 38 ++++-
crowbar_framework/app/views/nodes/index.html.haml | 71 ++++---
crowbar_framework/config/locales/crowbar/en.yml | 6 +-
crowbar_framework/config/navigation.rb | 14 +-
crowbar_framework/config/routes.rb | 65 ++++---
.../db/migrate/20120723233100_create_navs.rb | 8 +-
.../doc/default/crowbar/devguide/api/group.md | 49 ++++-
.../doc/default/crowbar/devguide/api/node.md | 32 +++-
.../default/crowbar/devguide/makingbarclamps.md | 24 +++
.../doc/default/crowbar/devguide/testing.md | 8 +
.../doc/default/crowbar/devguide/testing/bdd.md | 216 ++++----------------
.../default/crowbar/devguide/testing/bdd/dsl.md | 51 +++++
.../default/crowbar/devguide/testing/bdd/steps.md | 123 +++++++++++
.../default/crowbar/devguide/testing/devtool.md | 7 +
40 files changed, 1153 insertions(+), 507 deletions(-)

Crowbar-Pull-ID: 116526f6fde7c1be4c2e25dca078f5b9a2da0370

Crowbar-Release: development