crab 0.2.2 → 0.2.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 (56) hide show
  1. data/README.md +12 -12
  2. data/bin/crab-help +9 -13
  3. data/bin/crab-iteration +18 -0
  4. data/bin/crab-iteration-help +11 -0
  5. data/bin/crab-login +2 -2
  6. data/bin/crab-logout +18 -0
  7. data/bin/crab-project +1 -1
  8. data/bin/{crab-tc → crab-release} +4 -4
  9. data/bin/crab-release-help +11 -0
  10. data/bin/crab-story +18 -0
  11. data/bin/{crab-add → crab-story-add} +2 -2
  12. data/bin/{crab-change → crab-story-change} +4 -4
  13. data/bin/{crab-new → crab-story-create} +2 -2
  14. data/bin/{crab-remove → crab-story-del} +3 -3
  15. data/bin/{crab-delete → crab-story-delete} +3 -3
  16. data/bin/{crab-find → crab-story-find} +2 -2
  17. data/bin/crab-story-help +11 -0
  18. data/bin/{crab-ls → crab-story-list} +2 -2
  19. data/bin/{crab-list → crab-story-ls} +2 -2
  20. data/bin/{crab-move → crab-story-move} +2 -2
  21. data/bin/{crab-mv → crab-story-mv} +2 -2
  22. data/bin/{crab-create → crab-story-new} +2 -2
  23. data/bin/{crab-pull → crab-story-pull} +2 -2
  24. data/bin/{crab-rename → crab-story-ren} +2 -2
  25. data/bin/crab-story-rename +27 -0
  26. data/bin/{crab-rm → crab-story-rm} +3 -3
  27. data/bin/{crab-show → crab-story-show} +2 -2
  28. data/bin/{crab-up → crab-story-up} +4 -4
  29. data/bin/{crab-update → crab-story-update} +4 -4
  30. data/bin/crab-testcase +1 -1
  31. data/bin/crab-testcase-add +5 -1
  32. data/bin/crab-testcase-change +18 -0
  33. data/bin/crab-testcase-create +5 -1
  34. data/bin/crab-testcase-del +18 -0
  35. data/bin/crab-testcase-delete +5 -1
  36. data/bin/crab-testcase-find +10 -0
  37. data/bin/crab-testcase-help +11 -5
  38. data/bin/crab-testcase-list +1 -1
  39. data/bin/crab-testcase-ls +6 -21
  40. data/bin/crab-testcase-new +5 -1
  41. data/bin/crab-testcase-rm +5 -1
  42. data/bin/crab-testcase-show +1 -1
  43. data/bin/crab-testcase-up +18 -0
  44. data/bin/crab-testcase-update +5 -1
  45. data/features/find-text-in-stories.feature +3 -3
  46. data/features/login-and-out-of-rally.feature +1 -2
  47. data/features/move-in-rally.feature +2 -2
  48. data/features/pull-from-rally-into-cucumber.feature +4 -4
  49. data/features/show-from-rally.feature +3 -3
  50. data/features/steps/rally_steps.rb +45 -59
  51. data/features/subcommand-help.feature +28 -89
  52. data/features/update-story-in-rally.feature +8 -8
  53. data/lib/crab/rally.rb +4 -4
  54. data/lib/crab/version.rb +1 -1
  55. metadata +62 -42
  56. data/bin/crab-del +0 -21
@@ -9,98 +9,37 @@ Feature: Subcommand Help
9
9
  When I run `crab`
10
10
  Then I should see a usage screen
11
11
 
12
- Scenario: Help
13
- When I run `crab -h`
14
- Then the output should contain "create Create a new story in Rally"
15
- And the output should contain "delete Delete an existing story in Rally"
16
- And the output should contain "find Find stories by text in name, description or notes"
17
- And the output should contain "login Persistently authenticate user with Rally"
18
- And the output should contain "move Move a story from one status to the next (or previous)"
19
- And the output should contain "project Persistently select project to work with in Rally"
20
- And the output should contain "pull Downloads stories (and its test cases) as Cucumber feature files"
21
- And the output should contain "show Show a story (and its test cases) as a Cucumber feature"
22
- And the output should contain "testcase Manage test cases in a story (add, update, delete)"
23
- And the output should contain "update Update a story (name, estimate, etc)"
24
-
25
12
  Scenario: Bogus Subcommand
26
13
  When I run `crab bogus`
27
14
  Then I should see a usage screen
28
15
 
29
- Scenario: Pull Subcommand
30
- When I run `crab pull --help`
31
- Then the output should contain:
32
- """
33
- crab pull: pulls stories from Rally and writes them out as Cucumber features
34
-
35
- Usage: crab pull [options] story1 [story2 ...]
36
- """
37
-
38
- Scenario: Show Subcommand
39
- When I run `crab show --help`
40
- Then the output should contain:
41
- """
42
- crab show: displays a story in Rally as a Cucumber feature
43
-
44
- Usage: crab show story
45
- """
46
-
47
- Scenario: Create Subcommand
48
- When I run `crab create --help`
49
- Then the output should contain:
50
- """
51
- crab create: create a new story in Rally
52
-
53
- Usage: crab create name [options]
54
- """
55
-
56
- Scenario: Delete Subcommand
57
- When I run `crab delete --help`
58
- Then the output should contain:
59
- """
60
- crab delete: delete an existing story in Rally
61
-
62
- Usage: crab delete story [options]
63
- """
64
-
65
- Scenario: Testcase Subcommand
66
- When I run `crab testcase --help`
67
- Then the output should contain "crab testcase: manage test cases in a story (add, update, delete)"
68
- And the output should contain "Usage: crab testcase add story name [options]"
69
- And the output should contain "crab testcase update testcase [options]"
70
- And the output should contain "crab testcase delete testcase [options]"
71
-
72
- Scenario: Update Subcommand
73
- When I run `crab update --help`
74
- Then the output should contain:
75
- """
76
- crab update: update a story in Rally
77
-
78
- Usage: crab update story [options]
79
- """
80
-
81
- Scenario: Update Needs a Story Number
82
- When I run `crab update`
83
- Then the output should contain "Error: No story given."
84
-
85
- Scenario: Update Needs At Least One Switch
86
- When I run `crab update US4988`
87
- Then the output should contain "Error: Nothing to update. Please provide some options."
88
-
89
- Scenario: Find Subcommand
90
- When I run `crab find --help`
91
- Then the output should contain:
92
- """
93
- crab find: find a story in Rally
94
-
95
- Usage: crab find [options] [text]
96
- """
97
-
98
- Scenario: Move Subcommand
99
- When I run `crab move --help`
100
- Then the output should contain:
101
- """
102
- crab move: move a story from one status to the next (or previous)
16
+ Scenario Outline: Subcommands And Help Text
17
+ When I run `crab <Command> --help`
18
+ Then the output should contain "<Output>"
19
+
20
+ Examples:
21
+ | Command | Output |
22
+ | help | Usage: crab <command> [options*] |
23
+ | iteration | Usage: crab iteration <command> [options*] |
24
+ | login | Usage: crab login [options*] |
25
+ | project | Usage: crab project [name] [options*] |
26
+ | release | Usage: crab release <command> [options*] |
27
+ | story | Usage: crab story <command> [options*] |
28
+ | testcase | Usage: crab testcase <command> [options*] |
29
+ | story create | Usage: crab story create <name> [options*] |
30
+ | story update | Usage: crab story update <id> [options*] |
31
+ | story delete | Usage: crab story delete <id> [options*] |
32
+ | story find | Usage: crab story find [options*] [text] |
33
+ | story move | Usage: crab story move <id> [options*] |
34
+ | story pull | Usage: crab story pull <id> [id*] [options*] |
35
+ | story rename | Usage: crab story rename <id> <name> [options*] |
36
+ | story show | Usage: crab story show <id> [options*] |
37
+ | story help | Usage: crab story <command> [options*] |
38
+ | testcase create | Usage: crab testcase create <story> <name> [options*] |
39
+ | testcase update | Usage: crab testcase update <id> [options*] |
40
+ | testcase delete | Usage: crab testcase delete <id> [options*] |
41
+ | testcase find | Usage: crab testcase find <story> [options*] |
42
+ | testcase show | Usage: crab testcase show <id> [options*] |
43
+ | testcase help | Usage: crab testcase <command> [options*] |
103
44
 
104
- Usage: crab move story [options]
105
- """
106
45
 
@@ -1,33 +1,33 @@
1
1
  Feature: Update Story in Rally
2
-
2
+
3
3
  In order to change a story's fields in Rally
4
4
  A developer who doesn't want to open a browser or click on things
5
5
  Wants to update those fields from the command line
6
6
 
7
- Background:
7
+ Background:
8
8
  Given I am logged in
9
9
 
10
10
  Scenario: Update Name
11
- When I run `crab update US4988 --name "Sample Crab Story"`
11
+ When I run `crab story update US4988 --name "Sample Crab Story"`
12
12
  Then the output should contain "US4988: Sample Crab Story (grooming)"
13
13
 
14
14
  Scenario: Block and Unblock
15
- When I run `crab update US4988 --blocked`
15
+ When I run `crab story update US4988 --blocked`
16
16
  Then the output should contain "US4988: Sample Crab Story (grooming)"
17
17
  And the story US4988 should be blocked
18
- When I run `crab update US4988 --unblocked`
18
+ When I run `crab story update US4988 --unblocked`
19
19
  Then the output should contain "US4988: Sample Crab Story (grooming)"
20
20
  And the story US4988 should be unblocked
21
21
 
22
22
  Scenario: Setting Iteration
23
- When I run `crab update US4988 --iteration "Iteration 0"`
23
+ When I run `crab story update US4988 --iteration "Iteration 0"`
24
24
  Then the story US4988 should be in iteration "Iteration 0"
25
25
 
26
26
  Scenario: Setting Release
27
- When I run `crab update US4988 --release "Beta release"`
27
+ When I run `crab story update US4988 --release "Beta release"`
28
28
  Then the story US4988 should be in release "Beta release"
29
29
 
30
30
  Scenario: Setting Parent
31
- When I run `crab update US4988 --parent US5000`
31
+ When I run `crab story update US4988 --parent US5000`
32
32
  Then the story US4988 should have US5000 as its parent
33
33
 
@@ -52,12 +52,12 @@ module Crab
52
52
  @rally.find(:project, :fetch => true) { equal :name, name }.first
53
53
  end
54
54
 
55
- def find_iteration_by_name(name)
56
- @rally.find(:iteration) { equal :name, name }.first
55
+ def find_iteration_by_name(name, project)
56
+ @rally.find(:iteration, :project => project) { equal :name, name }.first
57
57
  end
58
58
 
59
- def find_release_by_name(name)
60
- @rally.find(:release) { equal :name, name }.first
59
+ def find_release_by_name(name, project)
60
+ @rally.find(:release, :project => project) { equal :name, name }.first
61
61
  end
62
62
 
63
63
  def create_story(opts)
@@ -1,3 +1,3 @@
1
1
  module Crab
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crab
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 2
10
- version: 0.2.2
9
+ - 3
10
+ version: 0.2.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Carlos Villela
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-29 00:00:00 -03:00
18
+ date: 2011-09-30 00:00:00 -03:00
19
19
  default_executable: crab
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -149,40 +149,50 @@ email:
149
149
  - cvillela@thoughtworks.com
150
150
  executables:
151
151
  - crab
152
- - crab-add
153
- - crab-change
154
- - crab-create
155
- - crab-del
156
- - crab-delete
157
- - crab-find
158
152
  - crab-help
159
- - crab-list
153
+ - crab-iteration
154
+ - crab-iteration-help
160
155
  - crab-login
161
- - crab-ls
162
- - crab-move
163
- - crab-mv
164
- - crab-new
156
+ - crab-logout
165
157
  - crab-project
166
- - crab-pull
167
- - crab-remove
168
- - crab-rename
169
- - crab-rm
170
- - crab-show
171
- - crab-tc
158
+ - crab-release
159
+ - crab-release-help
160
+ - crab-story
161
+ - crab-story-add
162
+ - crab-story-change
163
+ - crab-story-create
164
+ - crab-story-del
165
+ - crab-story-delete
166
+ - crab-story-find
167
+ - crab-story-help
168
+ - crab-story-list
169
+ - crab-story-ls
170
+ - crab-story-move
171
+ - crab-story-mv
172
+ - crab-story-new
173
+ - crab-story-pull
174
+ - crab-story-ren
175
+ - crab-story-rename
176
+ - crab-story-rm
177
+ - crab-story-show
178
+ - crab-story-up
179
+ - crab-story-update
172
180
  - crab-testcase
173
181
  - crab-testcase-add
182
+ - crab-testcase-change
174
183
  - crab-testcase-create
184
+ - crab-testcase-del
175
185
  - crab-testcase-delete
186
+ - crab-testcase-find
176
187
  - crab-testcase-help
177
188
  - crab-testcase-list
178
189
  - crab-testcase-ls
179
190
  - crab-testcase-new
180
191
  - crab-testcase-rm
181
192
  - crab-testcase-show
193
+ - crab-testcase-up
182
194
  - crab-testcase-update
183
195
  - crab-truncate
184
- - crab-up
185
- - crab-update
186
196
  - crab-version
187
197
  extensions: []
188
198
 
@@ -195,40 +205,50 @@ files:
195
205
  - README.md
196
206
  - Rakefile
197
207
  - bin/crab
198
- - bin/crab-add
199
- - bin/crab-change
200
- - bin/crab-create
201
- - bin/crab-del
202
- - bin/crab-delete
203
- - bin/crab-find
204
208
  - bin/crab-help
205
- - bin/crab-list
209
+ - bin/crab-iteration
210
+ - bin/crab-iteration-help
206
211
  - bin/crab-login
207
- - bin/crab-ls
208
- - bin/crab-move
209
- - bin/crab-mv
210
- - bin/crab-new
212
+ - bin/crab-logout
211
213
  - bin/crab-project
212
- - bin/crab-pull
213
- - bin/crab-remove
214
- - bin/crab-rename
215
- - bin/crab-rm
216
- - bin/crab-show
217
- - bin/crab-tc
214
+ - bin/crab-release
215
+ - bin/crab-release-help
216
+ - bin/crab-story
217
+ - bin/crab-story-add
218
+ - bin/crab-story-change
219
+ - bin/crab-story-create
220
+ - bin/crab-story-del
221
+ - bin/crab-story-delete
222
+ - bin/crab-story-find
223
+ - bin/crab-story-help
224
+ - bin/crab-story-list
225
+ - bin/crab-story-ls
226
+ - bin/crab-story-move
227
+ - bin/crab-story-mv
228
+ - bin/crab-story-new
229
+ - bin/crab-story-pull
230
+ - bin/crab-story-ren
231
+ - bin/crab-story-rename
232
+ - bin/crab-story-rm
233
+ - bin/crab-story-show
234
+ - bin/crab-story-up
235
+ - bin/crab-story-update
218
236
  - bin/crab-testcase
219
237
  - bin/crab-testcase-add
238
+ - bin/crab-testcase-change
220
239
  - bin/crab-testcase-create
240
+ - bin/crab-testcase-del
221
241
  - bin/crab-testcase-delete
242
+ - bin/crab-testcase-find
222
243
  - bin/crab-testcase-help
223
244
  - bin/crab-testcase-list
224
245
  - bin/crab-testcase-ls
225
246
  - bin/crab-testcase-new
226
247
  - bin/crab-testcase-rm
227
248
  - bin/crab-testcase-show
249
+ - bin/crab-testcase-up
228
250
  - bin/crab-testcase-update
229
251
  - bin/crab-truncate
230
- - bin/crab-up
231
- - bin/crab-update
232
252
  - bin/crab-version
233
253
  - crab.gemspec
234
254
  - features/create-and-delete-story.feature
@@ -1,21 +0,0 @@
1
- # vim: set ft=ruby :
2
- require 'crab'
3
-
4
- opts = Trollop::options do
5
- banner <<-BANNER
6
- crab delete: delete an existing story in Rally
7
-
8
- Usage: crab delete story [options]
9
- BANNER
10
- opt :dry, "Dry-run (don't change anything)", :short => "-D", :default => false
11
- end
12
-
13
- id = ARGV.join(" ")
14
- Trollop::die "Story ID must be specified" if story_id.blank?
15
-
16
- Crab::Rally.new(opts[:dry]) do |rally|
17
- story = rally.find_story_with_id id
18
- story.delete
19
-
20
- puts "Story #{id} deleted."
21
- end