branston 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
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