git-pivotal-tracker-integration 1.3.0 → 1.4.0

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 (27) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -2
  3. data/bin/git-finish +2 -2
  4. data/bin/git-release +1 -1
  5. data/bin/git-start +1 -1
  6. data/lib/git-pivotal-tracker-integration/command/base.rb +4 -4
  7. data/lib/git-pivotal-tracker-integration/command/command.rb +1 -1
  8. data/lib/git-pivotal-tracker-integration/command/configuration.rb +18 -18
  9. data/lib/git-pivotal-tracker-integration/command/finish.rb +7 -5
  10. data/lib/git-pivotal-tracker-integration/command/release.rb +6 -6
  11. data/lib/git-pivotal-tracker-integration/command/start.rb +10 -10
  12. data/lib/git-pivotal-tracker-integration/util/git.rb +39 -37
  13. data/lib/git-pivotal-tracker-integration/util/shell.rb +3 -3
  14. data/lib/git-pivotal-tracker-integration/util/story.rb +18 -22
  15. data/lib/git-pivotal-tracker-integration/util/util.rb +1 -1
  16. data/lib/git-pivotal-tracker-integration/version-update/gradle.rb +5 -5
  17. data/lib/git-pivotal-tracker-integration/version-update/version_update.rb +1 -1
  18. data/spec/git-pivotal-tracker-integration/command/base_spec.rb +6 -6
  19. data/spec/git-pivotal-tracker-integration/command/configuration_spec.rb +32 -32
  20. data/spec/git-pivotal-tracker-integration/command/finish_spec.rb +10 -10
  21. data/spec/git-pivotal-tracker-integration/command/release_spec.rb +18 -18
  22. data/spec/git-pivotal-tracker-integration/command/start_spec.rb +16 -16
  23. data/spec/git-pivotal-tracker-integration/util/git_spec.rb +98 -88
  24. data/spec/git-pivotal-tracker-integration/util/shell_spec.rb +11 -11
  25. data/spec/git-pivotal-tracker-integration/util/story_spec.rb +35 -35
  26. data/spec/git-pivotal-tracker-integration/version-update/gradle_spec.rb +18 -18
  27. metadata +6 -6
@@ -13,9 +13,9 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- require "spec_helper"
17
- require "git-pivotal-tracker-integration/util/git"
18
- require "git-pivotal-tracker-integration/util/shell"
16
+ require 'spec_helper'
17
+ require 'git-pivotal-tracker-integration/util/git'
18
+ require 'git-pivotal-tracker-integration/util/shell'
19
19
 
20
20
  describe GitPivotalTrackerIntegration::Util::Git do
21
21
 
@@ -24,20 +24,20 @@ describe GitPivotalTrackerIntegration::Util::Git do
24
24
  $stderr = StringIO.new
25
25
  end
26
26
 
27
- it "should return the current branch name" do
28
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git branch").and_return(" master\n * dev_branch")
27
+ it 'should return the current branch name' do
28
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git branch').and_return(" master\n * dev_branch")
29
29
 
30
30
  current_branch = GitPivotalTrackerIntegration::Util::Git.branch_name
31
31
 
32
- expect(current_branch).to eq("dev_branch")
32
+ expect(current_branch).to eq('dev_branch')
33
33
  end
34
34
 
35
- it "should return the repository root" do
35
+ it 'should return the repository root' do
36
36
  Dir.mktmpdir do |root|
37
- child_directory = File.expand_path "child", root
37
+ child_directory = File.expand_path 'child', root
38
38
  Dir.mkdir child_directory
39
39
 
40
- git_directory = File.expand_path ".git", root
40
+ git_directory = File.expand_path '.git', root
41
41
  Dir.mkdir git_directory
42
42
 
43
43
  Dir.should_receive(:pwd).and_return(child_directory)
@@ -48,9 +48,9 @@ describe GitPivotalTrackerIntegration::Util::Git do
48
48
  end
49
49
  end
50
50
 
51
- it "should raise an error there is no repository root" do
51
+ it 'should raise an error there is no repository root' do
52
52
  Dir.mktmpdir do |root|
53
- child_directory = File.expand_path "child", root
53
+ child_directory = File.expand_path 'child', root
54
54
  Dir.mkdir child_directory
55
55
 
56
56
  Dir.should_receive(:pwd).and_return(child_directory)
@@ -59,167 +59,177 @@ describe GitPivotalTrackerIntegration::Util::Git do
59
59
  end
60
60
  end
61
61
 
62
- it "should get configuration when :branch scope is specified" do
63
- GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return("test_branch_name")
64
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git config branch.test_branch_name.test_key", false).and_return("test_value")
62
+ it 'should get configuration when :branch scope is specified' do
63
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return('test_branch_name')
64
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git config branch.test_branch_name.test_key', false).and_return('test_value')
65
65
 
66
- value = GitPivotalTrackerIntegration::Util::Git.get_config "test_key", :branch
66
+ value = GitPivotalTrackerIntegration::Util::Git.get_config 'test_key', :branch
67
67
 
68
- expect(value).to eq("test_value")
68
+ expect(value).to eq('test_value')
69
69
  end
70
70
 
71
- it "should get configuration when :inherited scope is specified" do
72
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git config test_key", false).and_return("test_value")
71
+ it 'should get configuration when :inherited scope is specified' do
72
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git config test_key', false).and_return('test_value')
73
73
 
74
- value = GitPivotalTrackerIntegration::Util::Git.get_config "test_key", :inherited
74
+ value = GitPivotalTrackerIntegration::Util::Git.get_config 'test_key', :inherited
75
75
 
76
- expect(value).to eq("test_value")
76
+ expect(value).to eq('test_value')
77
77
  end
78
78
 
79
- it "should raise an error when an unknown scope is specified (get)" do
80
- expect { GitPivotalTrackerIntegration::Util::Git.get_config "test_key", :unknown }.to raise_error
79
+ it 'should raise an error when an unknown scope is specified (get)' do
80
+ expect { GitPivotalTrackerIntegration::Util::Git.get_config 'test_key', :unknown }.to raise_error
81
81
  end
82
82
 
83
- it "should set configuration when :branch scope is specified" do
84
- GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return("test_branch_name")
85
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git config --local branch.test_branch_name.test_key test_value")
83
+ it 'should set configuration when :branch scope is specified' do
84
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return('test_branch_name')
85
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git config --local branch.test_branch_name.test_key test_value')
86
86
 
87
- GitPivotalTrackerIntegration::Util::Git.set_config "test_key", "test_value", :branch
87
+ GitPivotalTrackerIntegration::Util::Git.set_config 'test_key', 'test_value', :branch
88
88
  end
89
89
 
90
- it "should set configuration when :global scope is specified" do
91
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git config --global test_key test_value")
90
+ it 'should set configuration when :global scope is specified' do
91
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git config --global test_key test_value')
92
92
 
93
- GitPivotalTrackerIntegration::Util::Git.set_config "test_key", "test_value", :global
93
+ GitPivotalTrackerIntegration::Util::Git.set_config 'test_key', 'test_value', :global
94
94
  end
95
95
 
96
- it "should set configuration when :local scope is specified" do
97
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git config --local test_key test_value")
96
+ it 'should set configuration when :local scope is specified' do
97
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git config --local test_key test_value')
98
98
 
99
- GitPivotalTrackerIntegration::Util::Git.set_config "test_key", "test_value", :local
99
+ GitPivotalTrackerIntegration::Util::Git.set_config 'test_key', 'test_value', :local
100
100
  end
101
101
 
102
- it "should raise an error when an unknown scope is specified (set)" do
103
- expect { GitPivotalTrackerIntegration::Util::Git.set_config "test_key", "test_valeu", :unknown }.to raise_error
102
+ it 'should raise an error when an unknown scope is specified (set)' do
103
+ expect { GitPivotalTrackerIntegration::Util::Git.set_config 'test_key', 'test_value', :unknown }.to raise_error
104
104
  end
105
105
 
106
- it "should create a branch and set the root_branch and root_remote properties on it" do
107
- GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return("master")
108
- GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with("remote", :branch).and_return("origin")
109
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git pull --quiet --ff-only")
110
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).and_return("git checkout --quiet -b dev_branch")
111
- GitPivotalTrackerIntegration::Util::Git.should_receive(:set_config).with("root-branch", "master", :branch)
112
- GitPivotalTrackerIntegration::Util::Git.should_receive(:set_config).with("root-remote", "origin", :branch)
106
+ it 'should create a branch and set the root_branch and root_remote properties on it' do
107
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return('master')
108
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with('remote', :branch).and_return('origin')
109
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git pull --quiet --ff-only')
110
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).and_return('git checkout --quiet -b dev_branch')
111
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:set_config).with('root-branch', 'master', :branch)
112
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:set_config).with('root-remote', 'origin', :branch)
113
113
 
114
- GitPivotalTrackerIntegration::Util::Git.create_branch "dev_branch"
114
+ GitPivotalTrackerIntegration::Util::Git.create_branch 'dev_branch'
115
115
  end
116
116
 
117
- it "should not add a hook if it already exists" do
117
+ it 'should not add a hook if it already exists' do
118
118
  Dir.mktmpdir do |root|
119
119
  GitPivotalTrackerIntegration::Util::Git.should_receive(:repository_root).and_return(root)
120
120
  hook = "#{root}/.git/hooks/prepare-commit-msg"
121
121
  File.should_receive(:exist?).with(hook).and_return(true)
122
122
 
123
- GitPivotalTrackerIntegration::Util::Git.add_hook "prepare-commit-msg", __FILE__
123
+ GitPivotalTrackerIntegration::Util::Git.add_hook 'prepare-commit-msg', __FILE__
124
124
 
125
125
  File.should_receive(:exist?).and_call_original
126
126
  expect(File.exist?(hook)).to be_false
127
127
  end
128
128
  end
129
129
 
130
- it "should add a hook if it does not exist" do
130
+ it 'should add a hook if it does not exist' do
131
131
  Dir.mktmpdir do |root|
132
132
  GitPivotalTrackerIntegration::Util::Git.should_receive(:repository_root).and_return(root)
133
133
  hook = "#{root}/.git/hooks/prepare-commit-msg"
134
134
  File.should_receive(:exist?).with(hook).and_return(false)
135
135
 
136
- GitPivotalTrackerIntegration::Util::Git.add_hook "prepare-commit-msg", __FILE__
136
+ GitPivotalTrackerIntegration::Util::Git.add_hook 'prepare-commit-msg', __FILE__
137
137
 
138
138
  File.should_receive(:exist?).and_call_original
139
139
  expect(File.exist?(hook)).to be_true
140
140
  end
141
141
  end
142
142
 
143
- it "should add a hook if it already exists and overwrite is true" do
143
+ it 'should add a hook if it already exists and overwrite is true' do
144
144
  Dir.mktmpdir do |root|
145
145
  GitPivotalTrackerIntegration::Util::Git.should_receive(:repository_root).and_return(root)
146
146
  hook = "#{root}/.git/hooks/prepare-commit-msg"
147
147
 
148
- GitPivotalTrackerIntegration::Util::Git.add_hook "prepare-commit-msg", __FILE__, true
148
+ GitPivotalTrackerIntegration::Util::Git.add_hook 'prepare-commit-msg', __FILE__, true
149
149
 
150
150
  File.should_receive(:exist?).and_call_original
151
151
  expect(File.exist?(hook)).to be_true
152
152
  end
153
153
  end
154
154
 
155
- it "should fail if root tip and common_ancestor do not match" do
156
- GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return("development_branch")
157
- GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with("root-branch", :branch).and_return("master")
158
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git checkout --quiet master")
159
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git pull --quiet --ff-only")
160
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git checkout --quiet development_branch")
161
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git rev-parse master").and_return("root_tip")
162
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git merge-base master development_branch").and_return("common_ancestor")
155
+ it 'should fail if root tip and common_ancestor do not match' do
156
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return('development_branch')
157
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with('root-branch', :branch).and_return('master')
158
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git checkout --quiet master')
159
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git pull --quiet --ff-only')
160
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git checkout --quiet development_branch')
161
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git rev-parse master').and_return('root_tip')
162
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git merge-base master development_branch').and_return('common_ancestor')
163
163
 
164
164
  lambda { GitPivotalTrackerIntegration::Util::Git.trivial_merge? }.should raise_error(SystemExit)
165
165
 
166
166
  expect($stderr.string).to match(/FAIL/)
167
167
  end
168
168
 
169
- it "should pass if root tip and common ancestor match" do
170
- GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return("development_branch")
171
- GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with("root-branch", :branch).and_return("master")
172
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git checkout --quiet master")
173
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git pull --quiet --ff-only")
174
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git checkout --quiet development_branch")
175
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git rev-parse master").and_return("HEAD")
176
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git merge-base master development_branch").and_return("HEAD")
169
+ it 'should pass if root tip and common ancestor match' do
170
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return('development_branch')
171
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with('root-branch', :branch).and_return('master')
172
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git checkout --quiet master')
173
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git pull --quiet --ff-only')
174
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git checkout --quiet development_branch')
175
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git rev-parse master').and_return('HEAD')
176
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git merge-base master development_branch').and_return('HEAD')
177
177
 
178
178
  GitPivotalTrackerIntegration::Util::Git.trivial_merge?
179
179
 
180
180
  expect($stdout.string).to match(/OK/)
181
181
  end
182
182
 
183
- it "should merge and delete branches" do
184
- GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return("development_branch")
185
- GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with("root-branch", :branch).and_return("master")
186
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git checkout --quiet master")
183
+ it 'should merge and delete branches' do
184
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return('development_branch')
185
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with('root-branch', :branch).and_return('master')
186
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git checkout --quiet master')
187
187
  GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git merge --quiet --no-ff -m \"Merge development_branch to master\n\n[Completes #12345678]\" development_branch")
188
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git branch --quiet -D development_branch")
188
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git branch --quiet -D development_branch')
189
189
 
190
- GitPivotalTrackerIntegration::Util::Git.merge PivotalTracker::Story.new(:id => 12345678)
190
+ GitPivotalTrackerIntegration::Util::Git.merge PivotalTracker::Story.new(:id => 12345678), nil
191
191
  end
192
192
 
193
- it "should push changes without refs" do
194
- GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with("remote", :branch).and_return("origin")
195
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git push --quiet origin ")
193
+ it 'should suppress Completes statement' do
194
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return('development_branch')
195
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with('root-branch', :branch).and_return('master')
196
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git checkout --quiet master')
197
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git merge --quiet --no-ff -m \"Merge development_branch to master\n\n[#12345678]\" development_branch")
198
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git branch --quiet -D development_branch')
199
+
200
+ GitPivotalTrackerIntegration::Util::Git.merge PivotalTracker::Story.new(:id => 12345678), true
201
+ end
202
+
203
+ it 'should push changes without refs' do
204
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with('remote', :branch).and_return('origin')
205
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git push --quiet origin ')
196
206
 
197
207
  GitPivotalTrackerIntegration::Util::Git.push
198
208
  end
199
209
 
200
- it "should push changes with refs" do
201
- GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with("remote", :branch).and_return("origin")
202
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git push --quiet origin foo bar")
210
+ it 'should push changes with refs' do
211
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:get_config).with('remote', :branch).and_return('origin')
212
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git push --quiet origin foo bar')
203
213
 
204
- GitPivotalTrackerIntegration::Util::Git.push "foo", "bar"
214
+ GitPivotalTrackerIntegration::Util::Git.push 'foo', 'bar'
205
215
  end
206
216
 
207
- it "should create a commit" do
217
+ it 'should create a commit' do
208
218
  story = PivotalTracker::Story.new(:id => 123456789)
209
219
  GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git commit --quiet --all --allow-empty --message \"test_message\n\n[#123456789]\"")
210
220
 
211
- GitPivotalTrackerIntegration::Util::Git.create_commit "test_message", story
221
+ GitPivotalTrackerIntegration::Util::Git.create_commit 'test_message', story
212
222
  end
213
223
 
214
- it "should create a release tag" do
224
+ it 'should create a release tag' do
215
225
  story = PivotalTracker::Story.new(:id => 123456789)
216
- GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return("master")
217
- GitPivotalTrackerIntegration::Util::Git.should_receive(:create_branch).with("pivotal-tracker-release", false)
218
- GitPivotalTrackerIntegration::Util::Git.should_receive(:create_commit).with("1.0.0.RELEASE Release", story)
219
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git tag v1.0.0.RELEASE")
220
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git checkout --quiet master")
221
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with("git branch --quiet -D pivotal-tracker-release")
222
-
223
- GitPivotalTrackerIntegration::Util::Git.create_release_tag "1.0.0.RELEASE", story
226
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:branch_name).and_return('master')
227
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:create_branch).with('pivotal-tracker-release', false)
228
+ GitPivotalTrackerIntegration::Util::Git.should_receive(:create_commit).with('1.0.0.RELEASE Release', story)
229
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git tag v1.0.0.RELEASE')
230
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git checkout --quiet master')
231
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:exec).with('git branch --quiet -D pivotal-tracker-release')
232
+
233
+ GitPivotalTrackerIntegration::Util::Git.create_release_tag '1.0.0.RELEASE', story
224
234
  end
225
235
  end
@@ -13,8 +13,8 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- require "spec_helper"
17
- require "git-pivotal-tracker-integration/util/shell"
16
+ require 'spec_helper'
17
+ require 'git-pivotal-tracker-integration/util/shell'
18
18
 
19
19
  describe GitPivotalTrackerIntegration::Util::Shell do
20
20
 
@@ -23,29 +23,29 @@ describe GitPivotalTrackerIntegration::Util::Shell do
23
23
  $stderr = StringIO.new
24
24
  end
25
25
 
26
- it "should return result when exit code is 0" do
27
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:`).with("test_command").and_return("test_result")
26
+ it 'should return result when exit code is 0' do
27
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:`).with('test_command').and_return('test_result')
28
28
  $?.should_receive(:exitstatus).and_return(0)
29
29
 
30
- result = GitPivotalTrackerIntegration::Util::Shell.exec "test_command"
30
+ result = GitPivotalTrackerIntegration::Util::Shell.exec 'test_command'
31
31
 
32
- expect(result).to eq("test_result")
32
+ expect(result).to eq('test_result')
33
33
  end
34
34
 
35
35
  it "should abort with 'FAIL' when the exit code is not 0" do
36
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:`).with("test_command")
36
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:`).with('test_command')
37
37
  $?.should_receive(:exitstatus).and_return(-1)
38
38
 
39
- lambda { GitPivotalTrackerIntegration::Util::Shell.exec "test_command" }.should raise_error(SystemExit)
39
+ lambda { GitPivotalTrackerIntegration::Util::Shell.exec 'test_command' }.should raise_error(SystemExit)
40
40
 
41
41
  expect($stderr.string).to match(/FAIL/)
42
42
  end
43
43
 
44
- it "should return result when the exit code is not 0 and told not to abort on failure" do
45
- GitPivotalTrackerIntegration::Util::Shell.should_receive(:`).with("test_command")
44
+ it 'should return result when the exit code is not 0 and told not to abort on failure' do
45
+ GitPivotalTrackerIntegration::Util::Shell.should_receive(:`).with('test_command')
46
46
  $?.should_receive(:exitstatus).and_return(-1)
47
47
 
48
- GitPivotalTrackerIntegration::Util::Shell.exec "test_command", false
48
+ GitPivotalTrackerIntegration::Util::Shell.exec 'test_command', false
49
49
  end
50
50
 
51
51
 
@@ -13,9 +13,9 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- require "spec_helper"
17
- require "git-pivotal-tracker-integration/util/story"
18
- require "pivotal-tracker"
16
+ require 'spec_helper'
17
+ require 'git-pivotal-tracker-integration/util/story'
18
+ require 'pivotal-tracker'
19
19
 
20
20
  describe GitPivotalTrackerIntegration::Util::Story do
21
21
 
@@ -23,18 +23,18 @@ describe GitPivotalTrackerIntegration::Util::Story do
23
23
  $stdout = StringIO.new
24
24
  $stderr = StringIO.new
25
25
 
26
- @project = double("project")
27
- @stories = double("stories")
28
- @story = double("story")
29
- @menu = double("menu")
26
+ @project = double('project')
27
+ @stories = double('stories')
28
+ @story = double('story')
29
+ @menu = double('menu')
30
30
  end
31
31
 
32
- it "should pretty print story information" do
33
- story = double("story")
32
+ it 'should pretty print story information' do
33
+ story = double('story')
34
34
  story.should_receive(:name)
35
35
  story.should_receive(:description).and_return("description-1\ndescription-2")
36
36
  PivotalTracker::Note.should_receive(:all).and_return([
37
- PivotalTracker::Note.new(:noted_at => Date.new, :text => "note-1")
37
+ PivotalTracker::Note.new(:noted_at => Date.new, :text => 'note-1')
38
38
  ])
39
39
 
40
40
  GitPivotalTrackerIntegration::Util::Story.pretty_print story
@@ -47,8 +47,8 @@ describe GitPivotalTrackerIntegration::Util::Story do
47
47
  "\n")
48
48
  end
49
49
 
50
- it "should not pretty print description or notes if there are none (empty)" do
51
- story = double("story")
50
+ it 'should not pretty print description or notes if there are none (empty)' do
51
+ story = double('story')
52
52
  story.should_receive(:name)
53
53
  story.should_receive(:description)
54
54
  PivotalTracker::Note.should_receive(:all).and_return([])
@@ -60,10 +60,10 @@ describe GitPivotalTrackerIntegration::Util::Story do
60
60
  "\n")
61
61
  end
62
62
 
63
- it "should not pretty print description or notes if there are none (nil)" do
64
- story = double("story")
63
+ it 'should not pretty print description or notes if there are none (nil)' do
64
+ story = double('story')
65
65
  story.should_receive(:name)
66
- story.should_receive(:description).and_return("")
66
+ story.should_receive(:description).and_return('')
67
67
  PivotalTracker::Note.should_receive(:all).and_return([])
68
68
 
69
69
  GitPivotalTrackerIntegration::Util::Story.pretty_print story
@@ -73,60 +73,60 @@ describe GitPivotalTrackerIntegration::Util::Story do
73
73
  "\n")
74
74
  end
75
75
 
76
- it "should select a story directly if the filter is a number" do
76
+ it 'should select a story directly if the filter is a number' do
77
77
  @project.should_receive(:stories).and_return(@stories)
78
78
  @stories.should_receive(:find).with(12345678).and_return(@story)
79
79
 
80
- story = GitPivotalTrackerIntegration::Util::Story.select_story @project, "12345678"
80
+ story = GitPivotalTrackerIntegration::Util::Story.select_story @project, '12345678'
81
81
 
82
82
  expect(story).to be(@story)
83
83
  end
84
84
 
85
- it "should select a story if the result of the query is a single story" do
85
+ it 'should select a story if the result of the query is a single story' do
86
86
  @project.should_receive(:stories).and_return(@stories)
87
87
  @stories.should_receive(:all).with(
88
- :current_state => ["rejected", "unstarted", "unscheduled"],
88
+ :current_state => %w(rejected unstarted unscheduled),
89
89
  :limit => 1,
90
- :story_type => "release"
90
+ :story_type => 'release'
91
91
  ).and_return([@story])
92
92
 
93
- story = GitPivotalTrackerIntegration::Util::Story.select_story @project, "release", 1
93
+ story = GitPivotalTrackerIntegration::Util::Story.select_story @project, 'release', 1
94
94
 
95
95
  expect(story).to be(@story)
96
96
  end
97
97
 
98
- it "should prompt the user for a story if the result of the query is more than a single story" do
98
+ it 'should prompt the user for a story if the result of the query is more than a single story' do
99
99
  @project.should_receive(:stories).and_return(@stories)
100
100
  @stories.should_receive(:all).with(
101
- :current_state => ["rejected", "unstarted", "unscheduled"],
101
+ :current_state => %w(rejected unstarted unscheduled),
102
102
  :limit => 5,
103
- :story_type => "feature"
103
+ :story_type => 'feature'
104
104
  ).and_return([
105
- PivotalTracker::Story.new(:name => "name-1"),
106
- PivotalTracker::Story.new(:name => "name-2")
105
+ PivotalTracker::Story.new(:name => 'name-1'),
106
+ PivotalTracker::Story.new(:name => 'name-2')
107
107
  ])
108
108
  @menu.should_receive(:prompt=)
109
- @menu.should_receive(:choice).with("name-1")
110
- @menu.should_receive(:choice).with("name-2")
109
+ @menu.should_receive(:choice).with('name-1')
110
+ @menu.should_receive(:choice).with('name-2')
111
111
  GitPivotalTrackerIntegration::Util::Story.should_receive(:choose) { |&arg| arg.call @menu }.and_return(@story)
112
112
 
113
- story = GitPivotalTrackerIntegration::Util::Story.select_story @project, "feature"
113
+ story = GitPivotalTrackerIntegration::Util::Story.select_story @project, 'feature'
114
114
 
115
115
  expect(story).to be(@story)
116
116
  end
117
117
 
118
- it "should prompt the user with the story type if no filter is specified" do
118
+ it 'should prompt the user with the story type if no filter is specified' do
119
119
  @project.should_receive(:stories).and_return(@stories)
120
120
  @stories.should_receive(:all).with(
121
- :current_state => ["rejected", "unstarted", "unscheduled"],
121
+ :current_state => %w(rejected unstarted unscheduled),
122
122
  :limit => 5
123
123
  ).and_return([
124
- PivotalTracker::Story.new(:story_type => "chore", :name => "name-1"),
125
- PivotalTracker::Story.new(:story_type => "bug", :name => "name-2")
124
+ PivotalTracker::Story.new(:story_type => 'chore', :name => 'name-1'),
125
+ PivotalTracker::Story.new(:story_type => 'bug', :name => 'name-2')
126
126
  ])
127
127
  @menu.should_receive(:prompt=)
128
- @menu.should_receive(:choice).with("CHORE name-1")
129
- @menu.should_receive(:choice).with("BUG name-2")
128
+ @menu.should_receive(:choice).with('CHORE name-1')
129
+ @menu.should_receive(:choice).with('BUG name-2')
130
130
  GitPivotalTrackerIntegration::Util::Story.should_receive(:choose) { |&arg| arg.call @menu }.and_return(@story)
131
131
 
132
132
  story = GitPivotalTrackerIntegration::Util::Story.select_story @project