crab 0.2.2 → 0.2.3

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