git_helper 2.0.1 → 3.1.2
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +23 -15
- data/Guardfile +1 -1
- data/README.md +43 -21
- data/Rakefile +1 -1
- data/bin/git-helper +12 -16
- data/lib/git_helper.rb +6 -1
- data/lib/git_helper/change_remote.rb +0 -0
- data/lib/git_helper/git_config_reader.rb +1 -3
- data/lib/git_helper/gitlab_client.rb +0 -2
- data/lib/git_helper/highline_cli.rb +0 -2
- data/lib/git_helper/local_code.rb +17 -13
- data/lib/git_helper/merge_request.rb +1 -0
- data/lib/git_helper/octokit_client.rb +0 -2
- data/lib/git_helper/pull_request.rb +1 -0
- data/lib/git_helper/version.rb +1 -1
- data/plugins.zip +0 -0
- data/spec/git_helper/change_remote_spec.rb +17 -15
- data/spec/git_helper/code_request_spec.rb +19 -17
- data/spec/git_helper/git_config_reader_spec.rb +9 -7
- data/spec/git_helper/highline_cli_spec.rb +38 -36
- data/spec/git_helper/local_code_spec.rb +62 -26
- data/spec/git_helper/merge_request_spec.rb +34 -27
- data/spec/git_helper/pull_request_spec.rb +34 -27
- data/spec/spec_helper.rb +2 -0
- metadata +18 -3
@@ -3,8 +3,10 @@ require 'git_helper'
|
|
3
3
|
|
4
4
|
describe GitHelper::CodeRequest do
|
5
5
|
let(:highline_cli) { double(:highline_cli) }
|
6
|
-
let(:local_code) { double(:local_code, project_name:
|
6
|
+
let(:local_code) { double(:local_code, project_name: Faker::Lorem.word, branch: Faker::Lorem.word) }
|
7
7
|
let(:process_project) { double(:process_project, create: :created, merge: :merged) }
|
8
|
+
let(:base_branch) { Faker::Lorem.word }
|
9
|
+
let(:title) { Faker::Lorem.sentence }
|
8
10
|
|
9
11
|
subject { GitHelper::CodeRequest.new }
|
10
12
|
|
@@ -15,8 +17,8 @@ describe GitHelper::CodeRequest do
|
|
15
17
|
|
16
18
|
describe '#create' do
|
17
19
|
before do
|
18
|
-
allow(subject).to receive(:base_branch).and_return(
|
19
|
-
allow(subject).to receive(:new_code_request_title).and_return(
|
20
|
+
allow(subject).to receive(:base_branch).and_return(base_branch)
|
21
|
+
allow(subject).to receive(:new_code_request_title).and_return(title)
|
20
22
|
end
|
21
23
|
|
22
24
|
it 'should call to process the project' do
|
@@ -31,8 +33,8 @@ describe GitHelper::CodeRequest do
|
|
31
33
|
end
|
32
34
|
|
33
35
|
it 'should call base_branch and new_code_request_title' do
|
34
|
-
expect(subject).to receive(:base_branch).and_return(
|
35
|
-
expect(subject).to receive(:new_code_request_title).and_return(
|
36
|
+
expect(subject).to receive(:base_branch).and_return(base_branch)
|
37
|
+
expect(subject).to receive(:new_code_request_title).and_return(title)
|
36
38
|
allow(subject).to receive(:process_project).and_return(process_project)
|
37
39
|
allow(process_project).to receive(:create)
|
38
40
|
subject.create
|
@@ -132,7 +134,7 @@ describe GitHelper::CodeRequest do
|
|
132
134
|
|
133
135
|
context 'when response is neither' do
|
134
136
|
it 'should raise an error' do
|
135
|
-
allow(highline_cli).to receive(:conflicting_remote_clarification).and_return(
|
137
|
+
allow(highline_cli).to receive(:conflicting_remote_clarification).and_return(Faker::Lorem.word)
|
136
138
|
expect(subject).to receive(:exit)
|
137
139
|
subject.send(:ask_for_clarification)
|
138
140
|
end
|
@@ -171,28 +173,28 @@ describe GitHelper::CodeRequest do
|
|
171
173
|
it 'should call the default branch' do
|
172
174
|
expect(subject).to receive(:default_branch)
|
173
175
|
allow(highline_cli).to receive(:base_branch_default?).at_least(:once)
|
174
|
-
allow(highline_cli).to receive(:base_branch).at_least(:once).and_return(
|
176
|
+
allow(highline_cli).to receive(:base_branch).at_least(:once).and_return(base_branch)
|
175
177
|
subject.send(:base_branch)
|
176
178
|
end
|
177
179
|
|
178
180
|
it 'should ask the CLI to ask the user' do
|
179
181
|
allow(subject).to receive(:default_branch)
|
180
182
|
expect(highline_cli).to receive(:base_branch_default?).at_least(:once)
|
181
|
-
allow(highline_cli).to receive(:base_branch).at_least(:once).and_return(
|
183
|
+
allow(highline_cli).to receive(:base_branch).at_least(:once).and_return(base_branch)
|
182
184
|
subject.send(:base_branch)
|
183
185
|
end
|
184
186
|
|
185
187
|
context 'if the user says no' do
|
186
|
-
it
|
188
|
+
it 'definitely asks for the users base branch' do
|
187
189
|
allow(subject).to receive(:default_branch)
|
188
190
|
expect(highline_cli).to receive(:base_branch_default?).at_least(:once).and_return(false)
|
189
|
-
expect(highline_cli).to receive(:base_branch).at_least(:once).and_return(
|
191
|
+
expect(highline_cli).to receive(:base_branch).at_least(:once).and_return(base_branch)
|
190
192
|
subject.send(:base_branch)
|
191
193
|
end
|
192
194
|
end
|
193
195
|
|
194
196
|
context 'if the user says yes' do
|
195
|
-
it
|
197
|
+
it 'does not ask for the users base branch' do
|
196
198
|
allow(subject).to receive(:default_branch)
|
197
199
|
expect(highline_cli).to receive(:base_branch_default?).at_least(:once).and_return(true)
|
198
200
|
expect(highline_cli).not_to receive(:base_branch)
|
@@ -203,7 +205,7 @@ describe GitHelper::CodeRequest do
|
|
203
205
|
|
204
206
|
describe '#autogenerated_title' do
|
205
207
|
it 'should generate a title based on the branch' do
|
206
|
-
expect(subject).to receive(:local_branch).and_return(
|
208
|
+
expect(subject).to receive(:local_branch).and_return(Faker::Lorem.word)
|
207
209
|
expect(local_code).to receive(:generate_title)
|
208
210
|
subject.send(:autogenerated_title)
|
209
211
|
end
|
@@ -213,28 +215,28 @@ describe GitHelper::CodeRequest do
|
|
213
215
|
it 'should call autogenerated title method' do
|
214
216
|
expect(subject).to receive(:autogenerated_title)
|
215
217
|
allow(highline_cli).to receive(:accept_autogenerated_title?).at_least(:once)
|
216
|
-
allow(highline_cli).to receive(:title).at_least(:once).and_return(
|
218
|
+
allow(highline_cli).to receive(:title).at_least(:once).and_return(title)
|
217
219
|
subject.send(:new_code_request_title)
|
218
220
|
end
|
219
221
|
|
220
222
|
it 'should ask the CLI to ask the user' do
|
221
223
|
allow(subject).to receive(:autogenerated_title)
|
222
224
|
expect(highline_cli).to receive(:accept_autogenerated_title?).at_least(:once)
|
223
|
-
allow(highline_cli).to receive(:title).at_least(:once).and_return(
|
225
|
+
allow(highline_cli).to receive(:title).at_least(:once).and_return(title)
|
224
226
|
subject.send(:new_code_request_title)
|
225
227
|
end
|
226
228
|
|
227
229
|
context 'if the user says no' do
|
228
|
-
it
|
230
|
+
it 'definitely asks for the users title' do
|
229
231
|
allow(subject).to receive(:autogenerated_title)
|
230
232
|
expect(highline_cli).to receive(:accept_autogenerated_title?).at_least(:once).and_return(false)
|
231
|
-
expect(highline_cli).to receive(:title).at_least(:once).and_return(
|
233
|
+
expect(highline_cli).to receive(:title).at_least(:once).and_return(title)
|
232
234
|
subject.send(:new_code_request_title)
|
233
235
|
end
|
234
236
|
end
|
235
237
|
|
236
238
|
context 'if the user says yes to original title' do
|
237
|
-
it
|
239
|
+
it 'does not ask for the users chosen title' do
|
238
240
|
allow(subject).to receive(:autogenerated_title)
|
239
241
|
expect(highline_cli).to receive(:accept_autogenerated_title?).at_least(:once).and_return(true)
|
240
242
|
expect(highline_cli).not_to receive(:title)
|
@@ -2,13 +2,14 @@ require 'spec_helper'
|
|
2
2
|
require 'git_helper'
|
3
3
|
|
4
4
|
describe GitHelper::GitConfigReader do
|
5
|
-
let(:github_token) {
|
6
|
-
let(:gitlab_token) {
|
5
|
+
let(:github_token) { Faker::Internet.password(max_length: 10) }
|
6
|
+
let(:gitlab_token) { Faker::Internet.password(max_length: 10) }
|
7
|
+
|
7
8
|
let(:config_file) {
|
8
9
|
{
|
9
|
-
github_user:
|
10
|
+
github_user: Faker::Internet.username,
|
10
11
|
github_token: github_token,
|
11
|
-
gitlab_user:
|
12
|
+
gitlab_user: Faker::Internet.username,
|
12
13
|
gitlab_token: gitlab_token
|
13
14
|
}
|
14
15
|
}
|
@@ -48,13 +49,14 @@ describe GitHelper::GitConfigReader do
|
|
48
49
|
|
49
50
|
describe '#git_config_file_path' do
|
50
51
|
it 'should look in the current directory' do
|
51
|
-
expect(Dir).to receive(:pwd).and_return(
|
52
|
+
expect(Dir).to receive(:pwd).and_return("/Users/#{Faker::Name.first_name}/#{Faker::Lorem.word}")
|
52
53
|
subject.send(:git_config_file_path)
|
53
54
|
end
|
54
55
|
|
55
56
|
it 'should return the base path with the git config file at the end' do
|
56
|
-
|
57
|
-
|
57
|
+
user = Faker::Name.first_name
|
58
|
+
allow(Dir).to receive(:pwd).and_return("/Users/#{user}/#{Faker::Lorem.word}")
|
59
|
+
expect(subject.send(:git_config_file_path)).to eq("/Users/#{user}/.git_helper/config.yml")
|
58
60
|
end
|
59
61
|
end
|
60
62
|
end
|
@@ -12,7 +12,7 @@ describe GitHelper::HighlineCli do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
describe '#new_branch_name' do
|
15
|
-
it
|
15
|
+
it 'should ask the subjects ask method' do
|
16
16
|
expect(subject).to receive(:ask).with('New branch name?')
|
17
17
|
subject.new_branch_name
|
18
18
|
end
|
@@ -23,34 +23,34 @@ describe GitHelper::HighlineCli do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
describe '#process_directory_remotes' do
|
26
|
-
it
|
26
|
+
it 'should ask the subjects ask method' do
|
27
27
|
expect(subject).to receive(:ask).and_return('y')
|
28
|
-
subject.process_directory_remotes?(
|
28
|
+
subject.process_directory_remotes?(Faker::Lorem.word)
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'should be a boolean at the end' do
|
32
32
|
allow(subject).to receive(:ask).and_return('y')
|
33
|
-
expect([true, false]).to include(subject.process_directory_remotes?(
|
33
|
+
expect([true, false]).to include(subject.process_directory_remotes?(Faker::Lorem.word))
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'should come out as a true boolean if somebody responds y' do
|
37
37
|
allow(subject).to receive(:ask).and_return('y')
|
38
|
-
expect(subject.process_directory_remotes?(
|
38
|
+
expect(subject.process_directory_remotes?(Faker::Lorem.word)).to eq(true)
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'should come out as a false boolean if somebody responds n' do
|
42
42
|
allow(subject).to receive(:ask).and_return('n')
|
43
|
-
expect(subject.process_directory_remotes?(
|
43
|
+
expect(subject.process_directory_remotes?(Faker::Lorem.word)).to eq(false)
|
44
44
|
end
|
45
45
|
|
46
46
|
it 'should come out as true if somebody presses enter' do
|
47
47
|
allow(subject).to receive(:ask).and_return('')
|
48
|
-
expect(subject.accept_autogenerated_title?(
|
48
|
+
expect(subject.accept_autogenerated_title?(Faker::Lorem.word)).to eq(true)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
52
|
describe '#conflicting_remote_clarification' do
|
53
|
-
it
|
53
|
+
it 'should ask the subjects ask method' do
|
54
54
|
expect(subject).to receive(:ask).with('Found git remotes for both GitHub and GitLab. Would you like to proceed with GitLab or GitHub? (github/gitlab)').and_return('gitlab')
|
55
55
|
subject.conflicting_remote_clarification
|
56
56
|
end
|
@@ -61,7 +61,7 @@ describe GitHelper::HighlineCli do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
describe '#title' do
|
64
|
-
it
|
64
|
+
it 'should ask the subjects ask method' do
|
65
65
|
expect(subject).to receive(:ask).with('Title?')
|
66
66
|
subject.title
|
67
67
|
end
|
@@ -72,7 +72,7 @@ describe GitHelper::HighlineCli do
|
|
72
72
|
end
|
73
73
|
|
74
74
|
describe '#base_branch' do
|
75
|
-
it
|
75
|
+
it 'should ask the subjects ask method' do
|
76
76
|
expect(subject).to receive(:ask).with('Base branch?')
|
77
77
|
subject.base_branch
|
78
78
|
end
|
@@ -83,92 +83,94 @@ describe GitHelper::HighlineCli do
|
|
83
83
|
end
|
84
84
|
|
85
85
|
describe '#code_request_id' do
|
86
|
-
|
87
|
-
|
88
|
-
|
86
|
+
let(:phrase) { Faker::Lorem.sentence }
|
87
|
+
|
88
|
+
it 'should ask the subjects ask method' do
|
89
|
+
expect(subject).to receive(:ask).with("#{phrase} Request ID?")
|
90
|
+
subject.code_request_id(phrase)
|
89
91
|
end
|
90
92
|
|
91
93
|
it 'should come out a string' do
|
92
|
-
expect(subject.code_request_id(
|
94
|
+
expect(subject.code_request_id(phrase)).to be_a(String)
|
93
95
|
end
|
94
96
|
end
|
95
97
|
|
96
98
|
describe '#accept_autogenerated_title' do
|
97
|
-
it
|
99
|
+
it 'should ask the subjects ask method' do
|
98
100
|
expect(subject).to receive(:ask).and_return('y')
|
99
|
-
subject.accept_autogenerated_title?(
|
101
|
+
subject.accept_autogenerated_title?(Faker::Lorem.sentence)
|
100
102
|
end
|
101
103
|
|
102
104
|
it 'should be a boolean at the end' do
|
103
105
|
allow(subject).to receive(:ask).and_return('y')
|
104
|
-
expect([true, false]).to include(subject.accept_autogenerated_title?(
|
106
|
+
expect([true, false]).to include(subject.accept_autogenerated_title?(Faker::Lorem.sentence))
|
105
107
|
end
|
106
108
|
|
107
109
|
it 'should come out as a true boolean if somebody responds y' do
|
108
110
|
allow(subject).to receive(:ask).and_return('y')
|
109
|
-
expect(subject.accept_autogenerated_title?(
|
111
|
+
expect(subject.accept_autogenerated_title?(Faker::Lorem.sentence)).to eq(true)
|
110
112
|
end
|
111
113
|
|
112
114
|
it 'should come out as a true boolean if somebody responds n' do
|
113
115
|
allow(subject).to receive(:ask).and_return('n')
|
114
|
-
expect(subject.accept_autogenerated_title?(
|
116
|
+
expect(subject.accept_autogenerated_title?(Faker::Lorem.sentence)).to eq(false)
|
115
117
|
end
|
116
118
|
|
117
119
|
it 'should come out as a true boolean if somebody responds yes' do
|
118
120
|
allow(subject).to receive(:ask).and_return('yes')
|
119
|
-
expect(subject.accept_autogenerated_title?(
|
121
|
+
expect(subject.accept_autogenerated_title?(Faker::Lorem.sentence)).to eq(true)
|
120
122
|
end
|
121
123
|
|
122
124
|
it 'should come out as a false boolean if somebody responds no' do
|
123
125
|
allow(subject).to receive(:ask).and_return('no')
|
124
|
-
expect(subject.accept_autogenerated_title?(
|
126
|
+
expect(subject.accept_autogenerated_title?(Faker::Lorem.sentence)).to eq(false)
|
125
127
|
end
|
126
128
|
|
127
129
|
it 'should come out as true if somebody presses enter' do
|
128
130
|
allow(subject).to receive(:ask).and_return('')
|
129
|
-
expect(subject.accept_autogenerated_title?(
|
131
|
+
expect(subject.accept_autogenerated_title?(Faker::Lorem.sentence)).to eq(true)
|
130
132
|
end
|
131
133
|
end
|
132
134
|
|
133
135
|
describe '#base_branch_default' do
|
134
|
-
it
|
136
|
+
it 'should ask the subjects ask method' do
|
135
137
|
expect(subject).to receive(:ask).and_return('y')
|
136
|
-
subject.base_branch_default?(
|
138
|
+
subject.base_branch_default?(Faker::Lorem.word)
|
137
139
|
end
|
138
140
|
|
139
141
|
it 'should be a boolean at the end' do
|
140
142
|
allow(subject).to receive(:ask).and_return('y')
|
141
|
-
expect([true, false]).to include(subject.base_branch_default?(
|
143
|
+
expect([true, false]).to include(subject.base_branch_default?(Faker::Lorem.word))
|
142
144
|
end
|
143
145
|
|
144
146
|
it 'should come out as a true boolean if somebody responds y' do
|
145
147
|
allow(subject).to receive(:ask).and_return('y')
|
146
|
-
expect(subject.base_branch_default?(
|
148
|
+
expect(subject.base_branch_default?(Faker::Lorem.word)).to eq(true)
|
147
149
|
end
|
148
150
|
|
149
151
|
it 'should come out as a true boolean if somebody responds n' do
|
150
152
|
allow(subject).to receive(:ask).and_return('n')
|
151
|
-
expect(subject.base_branch_default?(
|
153
|
+
expect(subject.base_branch_default?(Faker::Lorem.word)).to eq(false)
|
152
154
|
end
|
153
155
|
|
154
156
|
it 'should come out as a true boolean if somebody responds yes' do
|
155
157
|
allow(subject).to receive(:ask).and_return('yes')
|
156
|
-
expect(subject.base_branch_default?(
|
158
|
+
expect(subject.base_branch_default?(Faker::Lorem.word)).to eq(true)
|
157
159
|
end
|
158
160
|
|
159
161
|
it 'should come out as a false boolean if somebody responds no' do
|
160
162
|
allow(subject).to receive(:ask).and_return('no')
|
161
|
-
expect(subject.base_branch_default?(
|
163
|
+
expect(subject.base_branch_default?(Faker::Lorem.word)).to eq(false)
|
162
164
|
end
|
163
165
|
|
164
166
|
it 'should come out as true if somebody presses enter' do
|
165
167
|
allow(subject).to receive(:ask).and_return('')
|
166
|
-
expect(subject.base_branch_default?(
|
168
|
+
expect(subject.base_branch_default?(Faker::Lorem.word)).to eq(true)
|
167
169
|
end
|
168
170
|
end
|
169
171
|
|
170
172
|
describe '#merge_method' do
|
171
|
-
it
|
173
|
+
it 'should ask the subjects ask_options method' do
|
172
174
|
expect(subject).to receive(:ask_options).and_return(3)
|
173
175
|
subject.merge_method(['1', '2', '3'])
|
174
176
|
end
|
@@ -180,7 +182,7 @@ describe GitHelper::HighlineCli do
|
|
180
182
|
end
|
181
183
|
|
182
184
|
describe '#template_to_apply' do
|
183
|
-
it
|
185
|
+
it 'should ask the subjects ask_options method' do
|
184
186
|
expect(subject).to receive(:ask_options).and_return(3)
|
185
187
|
subject.template_to_apply(['option1', 'option2', 'option3'], 'example type')
|
186
188
|
end
|
@@ -194,22 +196,22 @@ describe GitHelper::HighlineCli do
|
|
194
196
|
describe '#ask' do
|
195
197
|
it 'should ask the highline client ask'do
|
196
198
|
expect(highline_client).to receive(:ask)
|
197
|
-
subject.send(:ask,
|
199
|
+
subject.send(:ask, Faker::Lorem.sentence)
|
198
200
|
end
|
199
201
|
|
200
202
|
it 'should return a string' do
|
201
|
-
expect(subject.send(:ask,
|
203
|
+
expect(subject.send(:ask, Faker::Lorem.sentence)).to be_a(String)
|
202
204
|
end
|
203
205
|
end
|
204
206
|
|
205
207
|
describe '#ask_options' do
|
206
208
|
it 'should ask the highline client ask'do
|
207
209
|
expect(highline_client).to receive(:ask)
|
208
|
-
subject.send(:ask_options,
|
210
|
+
subject.send(:ask_options, Faker::Lorem.sentence, ['1', '2', '3'])
|
209
211
|
end
|
210
212
|
|
211
213
|
it 'should return an integer' do
|
212
|
-
expect(subject.send(:ask_options,
|
214
|
+
expect(subject.send(:ask_options, Faker::Lorem.sentence, ['1', '2', '3'])).to be_a(Integer)
|
213
215
|
end
|
214
216
|
end
|
215
217
|
end
|
@@ -4,11 +4,24 @@ require 'git_helper'
|
|
4
4
|
describe GitHelper::LocalCode do
|
5
5
|
let(:response) { double(:response, readline: true, to_i: 5) }
|
6
6
|
let(:local_codeent) { double(:local_code, ask: response) }
|
7
|
-
let(:
|
8
|
-
let(:
|
9
|
-
let(:
|
10
|
-
let(:
|
7
|
+
let(:project_name) { Faker::Lorem.word }
|
8
|
+
let(:owner) { Faker::Name.first_name }
|
9
|
+
let(:ssh_remote) { "origin\tgit@github.com:#{owner}/#{project_name}.git (fetch)" }
|
10
|
+
let(:https_remote) { "origin\thttps://github.com/#{owner}/#{project_name}.git (fetch)" }
|
11
|
+
|
12
|
+
let(:github_remotes) do
|
13
|
+
[
|
14
|
+
"origin\tgit@github.com:#{owner}/#{project_name}.git (fetch)",
|
15
|
+
"origin\thttps://github.com/#{owner}/#{project_name}.git (fetch)"
|
16
|
+
]
|
17
|
+
end
|
11
18
|
|
19
|
+
let(:gitlab_remotes) do
|
20
|
+
[
|
21
|
+
"origin\tgit@gitlab.com:#{owner}/#{project_name}.git (fetch)",
|
22
|
+
"origin\thttps://gitlab.com/#{owner}/#{project_name}.git (fetch)"
|
23
|
+
]
|
24
|
+
end
|
12
25
|
|
13
26
|
subject { GitHelper::LocalCode.new }
|
14
27
|
|
@@ -51,13 +64,13 @@ describe GitHelper::LocalCode do
|
|
51
64
|
describe '#new_branch' do
|
52
65
|
it 'should make a system call' do
|
53
66
|
expect(subject).to receive(:system).exactly(4).times
|
54
|
-
subject.new_branch(
|
67
|
+
subject.new_branch(Faker::Lorem.word)
|
55
68
|
end
|
56
69
|
end
|
57
70
|
|
58
71
|
describe '#change_remote' do
|
59
72
|
it 'should return a string' do
|
60
|
-
expect(subject.change_remote(
|
73
|
+
expect(subject.change_remote(Faker::Lorem.word, Faker::Internet.url)).to be_a(String)
|
61
74
|
end
|
62
75
|
end
|
63
76
|
|
@@ -96,11 +109,11 @@ describe GitHelper::LocalCode do
|
|
96
109
|
|
97
110
|
describe '#remote_project' do
|
98
111
|
it 'should return just the plain project if ssh' do
|
99
|
-
expect(subject.remote_project(ssh_remote)).to eq(
|
112
|
+
expect(subject.remote_project(ssh_remote)).to eq(project_name)
|
100
113
|
end
|
101
114
|
|
102
115
|
it 'should return just the plain project if https' do
|
103
|
-
expect(subject.remote_project(https_remote)).to eq(
|
116
|
+
expect(subject.remote_project(https_remote)).to eq(project_name)
|
104
117
|
end
|
105
118
|
end
|
106
119
|
|
@@ -144,8 +157,8 @@ describe GitHelper::LocalCode do
|
|
144
157
|
end
|
145
158
|
|
146
159
|
it 'should equal this project name' do
|
147
|
-
allow_any_instance_of(String).to receive(:scan).and_return([[
|
148
|
-
expect(subject.project_name).to eq(
|
160
|
+
allow_any_instance_of(String).to receive(:scan).and_return([["#{owner}/#{project_name}"]])
|
161
|
+
expect(subject.project_name).to eq("#{owner}/#{project_name}")
|
149
162
|
end
|
150
163
|
end
|
151
164
|
|
@@ -164,6 +177,7 @@ describe GitHelper::LocalCode do
|
|
164
177
|
describe '#template_options' do
|
165
178
|
let(:template_identifiers) do
|
166
179
|
{
|
180
|
+
template_directory: '.github',
|
167
181
|
nested_directory_name: 'PULL_REQUEST_TEMPLATE',
|
168
182
|
non_nested_file_name: 'pull_request_template'
|
169
183
|
}
|
@@ -189,43 +203,65 @@ describe GitHelper::LocalCode do
|
|
189
203
|
|
190
204
|
describe '#generate_title' do
|
191
205
|
it 'should return a title based on the branch' do
|
192
|
-
|
193
|
-
|
206
|
+
prefix = Faker::Lorem.word
|
207
|
+
word1 = Faker::Lorem.word
|
208
|
+
word2 = Faker::Lorem.word
|
209
|
+
description = [word1, word2].join('-')
|
210
|
+
branch = "#{prefix}-123-#{description}"
|
211
|
+
expect(subject.generate_title(branch)).to eq("#{prefix.upcase}-123 #{[word1.capitalize, word2].join(' ')}")
|
194
212
|
end
|
195
213
|
|
196
214
|
it 'should return a title based on the branch' do
|
197
|
-
|
198
|
-
|
215
|
+
prefix = Faker::Lorem.word
|
216
|
+
word1 = Faker::Lorem.word
|
217
|
+
word2 = Faker::Lorem.word
|
218
|
+
description = [word1, word2].join('_')
|
219
|
+
branch = "#{prefix}_123_#{description}"
|
220
|
+
expect(subject.generate_title(branch)).to eq("#{prefix.upcase}-123 #{[word1.capitalize, word2].join(' ')}")
|
199
221
|
end
|
200
222
|
|
201
223
|
it 'should return a title based on the branch' do
|
202
|
-
|
203
|
-
|
224
|
+
prefix = Faker::Lorem.word
|
225
|
+
word1 = Faker::Lorem.word
|
226
|
+
word2 = Faker::Lorem.word
|
227
|
+
description = [word1, word2].join('_')
|
228
|
+
branch = "#{prefix}-123_#{description}"
|
229
|
+
expect(subject.generate_title(branch)).to eq("#{prefix.upcase}-123 #{[word1.capitalize, word2].join(' ')}")
|
204
230
|
end
|
205
231
|
|
206
232
|
it 'should return a title based on the branch' do
|
207
|
-
|
208
|
-
|
233
|
+
word1 = Faker::Lorem.word
|
234
|
+
word2 = Faker::Lorem.word
|
235
|
+
branch = [word1, word2].join('_')
|
236
|
+
expect(subject.generate_title(branch)).to eq([word1.capitalize, word2].join(' '))
|
209
237
|
end
|
210
238
|
|
211
239
|
it 'should return a title based on the branch' do
|
212
|
-
|
213
|
-
|
240
|
+
word1 = Faker::Lorem.word
|
241
|
+
word2 = Faker::Lorem.word
|
242
|
+
branch = [word1, word2].join('-')
|
243
|
+
expect(subject.generate_title(branch)).to eq([word1.capitalize, word2].join(' '))
|
214
244
|
end
|
215
245
|
|
216
246
|
it 'should return a title based on the branch' do
|
217
|
-
branch =
|
218
|
-
expect(subject.generate_title(branch)).to eq(
|
247
|
+
branch = Faker::Lorem.word
|
248
|
+
expect(subject.generate_title(branch)).to eq(branch.capitalize)
|
219
249
|
end
|
220
250
|
|
221
251
|
it 'should return a title based on the branch' do
|
222
|
-
|
223
|
-
|
252
|
+
word1 = Faker::Lorem.word
|
253
|
+
word2 = Faker::Lorem.word
|
254
|
+
word3 = Faker::Lorem.word
|
255
|
+
branch = [word1, word2, word3].join('_')
|
256
|
+
expect(subject.generate_title(branch)).to eq([word1.capitalize, word2, word3].join(' '))
|
224
257
|
end
|
225
258
|
|
226
259
|
it 'should return a title based on the branch' do
|
227
|
-
|
228
|
-
|
260
|
+
word1 = Faker::Lorem.word
|
261
|
+
word2 = Faker::Lorem.word
|
262
|
+
word3 = Faker::Lorem.word
|
263
|
+
branch = [word1, word2, word3].join('-')
|
264
|
+
expect(subject.generate_title(branch)).to eq([word1.capitalize, word2, word3].join(' '))
|
229
265
|
end
|
230
266
|
end
|
231
267
|
end
|