branston 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. data/README.rdoc +44 -16
  2. data/bin/branston +15 -0
  3. data/lib/branston/app/controllers/application_controller.rb +17 -2
  4. data/lib/branston/app/controllers/iterations_controller.rb +15 -0
  5. data/lib/branston/app/controllers/outcomes_controller.rb +14 -0
  6. data/lib/branston/app/controllers/preconditions_controller.rb +14 -0
  7. data/lib/branston/app/controllers/releases_controller.rb +14 -0
  8. data/lib/branston/app/controllers/scenarios_controller.rb +14 -0
  9. data/lib/branston/app/controllers/sessions_controller.rb +14 -0
  10. data/lib/branston/app/controllers/stories_controller.rb +15 -44
  11. data/lib/branston/app/controllers/user_roles_controller.rb +14 -0
  12. data/lib/branston/app/controllers/users_controller.rb +14 -0
  13. data/lib/branston/app/models/iteration.rb +16 -0
  14. data/lib/branston/app/models/outcome.rb +14 -0
  15. data/lib/branston/app/models/participation.rb +14 -0
  16. data/lib/branston/app/models/precondition.rb +14 -0
  17. data/lib/branston/app/models/release.rb +18 -3
  18. data/lib/branston/app/models/scenario.rb +14 -0
  19. data/lib/branston/app/models/story.rb +24 -10
  20. data/lib/branston/app/models/user.rb +18 -3
  21. data/lib/branston/app/models/user_role.rb +14 -0
  22. data/lib/branston/app/views/layouts/_footer.html.erb +3 -2
  23. data/lib/branston/coverage/app-controllers-application_controller_rb.html +105 -15
  24. data/lib/branston/coverage/app-controllers-iterations_controller_rb.html +216 -108
  25. data/lib/branston/coverage/app-controllers-outcomes_controller_rb.html +200 -104
  26. data/lib/branston/coverage/app-controllers-preconditions_controller_rb.html +202 -154
  27. data/lib/branston/coverage/app-controllers-releases_controller_rb.html +190 -94
  28. data/lib/branston/coverage/app-controllers-scenarios_controller_rb.html +213 -105
  29. data/lib/branston/coverage/app-controllers-sessions_controller_rb.html +146 -44
  30. data/lib/branston/coverage/app-controllers-stories_controller_rb.html +328 -112
  31. data/lib/branston/coverage/app-controllers-user_roles_controller_rb.html +208 -88
  32. data/lib/branston/coverage/app-controllers-users_controller_rb.html +125 -29
  33. data/lib/branston/coverage/app-helpers-application_helper_rb.html +25 -7
  34. data/lib/branston/coverage/app-helpers-iterations_helper_rb.html +238 -10
  35. data/lib/branston/coverage/app-helpers-outcomes_helper_rb.html +1 -1
  36. data/lib/branston/coverage/app-helpers-preconditions_helper_rb.html +1 -1
  37. data/lib/branston/coverage/app-helpers-releases_helper_rb.html +1 -1
  38. data/lib/branston/coverage/app-helpers-sessions_helper_rb.html +1 -1
  39. data/lib/branston/coverage/app-helpers-stories_helper_rb.html +1 -1
  40. data/lib/branston/coverage/app-helpers-user_roles_helper_rb.html +1 -1
  41. data/lib/branston/coverage/app-models-iteration_rb.html +192 -24
  42. data/lib/branston/coverage/app-models-outcome_rb.html +102 -18
  43. data/lib/branston/coverage/app-models-participation_rb.html +93 -9
  44. data/lib/branston/coverage/app-models-precondition_rb.html +107 -17
  45. data/lib/branston/coverage/app-models-release_rb.html +99 -9
  46. data/lib/branston/coverage/app-models-scenario_rb.html +100 -16
  47. data/lib/branston/coverage/app-models-story_rb.html +354 -24
  48. data/lib/branston/coverage/app-models-user_rb.html +173 -59
  49. data/lib/branston/coverage/app-models-user_role_rb.html +93 -9
  50. data/lib/branston/coverage/index.html +132 -116
  51. data/lib/branston/coverage/lib-client_rb.html +537 -0
  52. data/lib/branston/coverage/lib-faker_extras_rb.html +1 -1
  53. data/lib/branston/coverage/lib-story_generator_rb.html +43 -49
  54. data/lib/branston/db/development.sqlite3 +0 -0
  55. data/lib/branston/db/test.sqlite3 +0 -0
  56. data/lib/branston/log/development.log +1516 -0
  57. data/lib/branston/log/test.log +10156 -0
  58. data/lib/branston/public/images/agplv3.png +0 -0
  59. data/lib/branston/test/functional/stories_controller_test.rb +33 -32
  60. metadata +5 -5
  61. data/LICENSE +0 -20
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = Branston =
1
+ = Branston
2
2
 
3
3
  A user story tracker that generates gherkin files and step
4
4
  definitions for use with the cucumber testing framework.
@@ -12,7 +12,7 @@ Once a user story has been given acceptance conditions, it's possible to write a
12
12
  cucumber test for it. On a developer machine, the Branston client allows a
13
13
  developer to auto-generate cucumber tests from the user stories on the server.
14
14
 
15
- == Installation ==
15
+ == Installation
16
16
 
17
17
  There's a bit of a dependency chain needed to get things running. Cucumber has
18
18
  a dependency on Nokogiri, which itself has some libxml related dependencies
@@ -23,18 +23,41 @@ including a dependency on a C compiler. On a clean Debian/Ubuntu box, this...
23
23
 
24
24
  ...currently does the trick.
25
25
 
26
- = Example Usage =
26
+ = Example Usage
27
27
 
28
- rails test
29
- cd test
30
- rake db:migrate
31
- ruby script/generate cucumber
32
- branston -i
33
- branston -s
34
- (write some stories)
35
- branston -g -f your-story-name
36
- rake cucumber:all
37
- (implement the steps and code to make it pass)
28
+ First, initialize a branston server:
29
+
30
+ branston -i
31
+
32
+ Initialization will make a hidden folder in the present working directory (called
33
+ ".branston") and make a sqlite3 database and necessary config files.
34
+
35
+ Then, start the server:
36
+
37
+ branston -s
38
+
39
+ This will start the Branston server on port 3970. By default, the server binds
40
+ to the IP 0.0.0.0, so don't do this on a public-facing box unless you want to
41
+ make your Branston server available to the entire internet.
42
+
43
+ Once you've got some stories with acceptance conditions, you can make your
44
+ Rails app and start generating cucumber test code. Try this:
45
+
46
+ rails test
47
+ cd test
48
+ rake db:migrate
49
+ ruby script/generate cucumber
50
+
51
+ Now, let's assume you've got a story called "add video". You want to turn the
52
+ scenarios for that story into executable cucumber test code, so here's what you
53
+ do:
54
+
55
+ branston -g -f add-video
56
+ rake cucumber:all
57
+
58
+ Branston will
59
+
60
+ Then, you implement the steps and code to make it pass.
38
61
 
39
62
  == Note on Patches/Pull Requests
40
63
 
@@ -42,11 +65,16 @@ rake cucumber:all
42
65
  * Make your feature addition or bug fix.
43
66
  * Add tests for it. This is important so I don't break it in a
44
67
  future version unintentionally.
45
- * Commit, do not mess with rakefile, version, or history.
46
- (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
68
+ * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
47
69
  * Send me a pull request. Bonus points for topic branches.
48
70
 
49
71
  == Copyright
50
72
 
51
- Copyright (c) 2009 dave@boomer. See LICENSE for details.sudo apt-get install libxml2 libxml2-ruby
73
+ Copyright (c) 2010 Headlondon - http://www.headlondon.com
74
+
75
+ See LICENSE for details.
76
+
77
+ == Credits
78
+
79
+ Dan Garland, Dave Hrycyszyn, Steve Laing
52
80
 
data/bin/branston CHANGED
@@ -1,4 +1,19 @@
1
1
  #!/usr/bin/env ruby
2
+
3
+ # This file is part of Branston.
4
+ #
5
+ # Branston is free software: you can redistribute it and/or modify
6
+ # it under the terms of the GNU Affero General Public License as published by
7
+ # the Free Software Foundation.
8
+ #
9
+ # Branston is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU Affero General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
16
+
2
17
  require File.dirname(__FILE__) + '/../lib/branston/lib/branston'
3
18
  Branston.new(ARGV)
4
19
 
@@ -1,13 +1,28 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  # Filters added to this controller apply to all controllers in the application.
2
16
  # Likewise, all the methods added will be available for all controllers.
3
-
17
+ #
4
18
  class ApplicationController < ActionController::Base
5
19
  helper :all # include all helpers, all the time
6
20
  protect_from_forgery # See ActionController::RequestForgeryProtection for details
7
21
 
8
22
  # Scrub sensitive parameters from your log
9
23
  # filter_parameter_logging :password
10
-
24
+
11
25
  # RESTful authentication system
12
26
  include AuthenticatedSystem
13
27
  end
28
+
@@ -1,3 +1,18 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
15
+
1
16
  class IterationsController < ApplicationController
2
17
 
3
18
  layout 'main'
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class OutcomesController < ApplicationController
2
16
 
3
17
  before_filter :login_required
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class PreconditionsController < ApplicationController
2
16
 
3
17
  layout 'main'
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class ReleasesController < ApplicationController
2
16
 
3
17
  layout 'main'
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class ScenariosController < ApplicationController
2
16
 
3
17
  layout 'main'
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  # This controller handles the login/logout function of the site.
2
16
  class SessionsController < ApplicationController
3
17
 
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class StoriesController < ApplicationController
2
16
 
3
17
  layout 'main'
@@ -46,54 +60,11 @@ class StoriesController < ApplicationController
46
60
  render :xml => (@story.to_xml :include => { :scenarios => {
47
61
  :include => [:preconditions, :outcomes] } } ) }
48
62
  format.js { @active = true }
49
- <<<<<<< HEAD:lib/branston/app/controllers/stories_controller.rb
50
- else
51
- format.html {
52
- @iteration = load_iteration
53
- render_optional_error_file 404
54
- }
55
- =======
56
63
  else
57
64
  format.html { render_optional_error_file 404 }
58
- >>>>>>> steventux/master:lib/branston/app/controllers/stories_controller.rb
59
65
  format.all { render :nothing => true, :status => 404 }
60
66
  end
61
67
  end
62
- <<<<<<< HEAD:lib/branston/app/controllers/stories_controller.rb
63
-
64
- # GET /stories/new
65
- # GET /stories/new.xml
66
- def new
67
- @story = Story.new(:iteration => @iteration)
68
-
69
- respond_to do |format|
70
- format.html # new.html.erb
71
- format.xml { render :xml => @story }
72
- end
73
- end
74
-
75
- # GET /stories/1/edit
76
- def edit
77
- @story = Story.find_by_slug(params[:id])
78
- end
79
-
80
- # POST /stories
81
- # POST /stories.xml
82
- def create
83
- @story = Story.new(params[:story])
84
- @story.author = current_user
85
-
86
- respond_to do |format|
87
- if @story.save
88
- flash[:notice] = 'Story was successfully created.'
89
- format.html { redirect_to iteration_stories_url(@iteration) }
90
- format.xml { render :xml => @story, :status => :created, :location => @story }
91
- else
92
- format.html { render :action => "new" }
93
- format.xml { render :xml => @story.errors, :status => :unprocessable_entity }
94
- end
95
- end
96
- =======
97
68
  end
98
69
 
99
70
  # GET /stories/new
@@ -104,7 +75,6 @@ class StoriesController < ApplicationController
104
75
  respond_to do |format|
105
76
  format.html # new.html.erb
106
77
  format.xml { render :xml => @story }
107
- >>>>>>> steventux/master:lib/branston/app/controllers/stories_controller.rb
108
78
  end
109
79
  end
110
80
 
@@ -118,6 +88,7 @@ class StoriesController < ApplicationController
118
88
  def create
119
89
  @story = Story.new(params[:story])
120
90
  @story.author = current_user
91
+ @story.iteration = @iteration
121
92
 
122
93
  respond_to do |format|
123
94
  if @story.save
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class UserRolesController < ApplicationController
2
16
 
3
17
  layout 'main'
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class UsersController < ApplicationController
2
16
 
3
17
  layout 'main'
@@ -1,3 +1,19 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
15
+
16
+
1
17
  class Iteration < ActiveRecord::Base
2
18
 
3
19
  # Validations
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class Outcome < ActiveRecord::Base
2
16
 
3
17
  # Assocations
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class Participation < ActiveRecord::Base
2
16
 
3
17
  belongs_to :user
@@ -1,3 +1,17 @@
1
+ # This file is part of Branston.
2
+ #
3
+ # Branston is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Affero General Public License as published by
5
+ # the Free Software Foundation.
6
+ #
7
+ # Branston is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
+ # GNU Affero General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Affero General Public License
13
+ # along with Branston. If not, see <http://www.gnu.org/licenses/>.
14
+
1
15
  class Precondition < ActiveRecord::Base
2
16
 
3
17
  # Assocations