abak-flow 1.0.8 → 1.0.9
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.
- data/lib/abak-flow/branch.rb +1 -1
- data/lib/abak-flow/commands/checkup.rb +1 -0
- data/lib/abak-flow/commands/compare.rb +1 -0
- data/lib/abak-flow/version.rb +1 -1
- data/lib/abak-flow/visitor.rb +2 -1
- data/spec/lib/abak-flow/branch_spec.rb +7 -7
- data/spec/lib/abak-flow/commands/checkup_spec.rb +2 -6
- data/spec/lib/abak-flow/commands/compare_spec.rb +18 -39
- metadata +2 -2
data/lib/abak-flow/branch.rb
CHANGED
@@ -67,7 +67,7 @@ module Abak::Flow
|
|
67
67
|
return I18n.t("commands.publish.nothing") if
|
68
68
|
tasks_from_commit_message.empty? && !tracker_task?
|
69
69
|
|
70
|
-
[tasks_from_commit_message, task].flatten.uniq
|
70
|
+
[tasks_from_commit_message, task].flatten.compact.uniq
|
71
71
|
.map { |x| "http://jira.railsc.ru/browse/#{x}" } * "\n"
|
72
72
|
end
|
73
73
|
|
data/lib/abak-flow/version.rb
CHANGED
data/lib/abak-flow/visitor.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
require "ansi/code"
|
2
3
|
|
3
4
|
module Abak::Flow
|
4
5
|
class Visitor
|
@@ -48,7 +49,7 @@ module Abak::Flow
|
|
48
49
|
def on_fail(options = Hash.new, &block)
|
49
50
|
return if ready?
|
50
51
|
|
51
|
-
say ANSI.red I18n.t("commands.#{@command}.fail")
|
52
|
+
say ANSI.red { I18n.t("commands.#{@command}.fail") }
|
52
53
|
say ANSI.yellow { output }
|
53
54
|
|
54
55
|
exit(options[:exit]) if options.key?(:exit)
|
@@ -212,12 +212,11 @@ describe Abak::Flow::Branch do
|
|
212
212
|
|
213
213
|
before { git_feature.stub(:gcommit).and_return gcommit }
|
214
214
|
|
215
|
-
it { expect(feature.extract_body).to
|
216
|
-
it { expect(feature.extract_body).to include "http://jira.railsc.ru/browse/PC4-200" }
|
215
|
+
it { expect(feature.extract_body).to eq "http://jira.railsc.ru/browse/PC4-200\nhttp://jira.railsc.ru/browse/JP-515" }
|
217
216
|
end
|
218
217
|
|
219
218
|
context "when branch is task equals to commit message" do
|
220
|
-
let(:gcommit) { double("Git commit", contents: "Fix JP-515") }
|
219
|
+
let(:gcommit) { double("Git commit", contents: "[Fix JP-515]") }
|
221
220
|
|
222
221
|
before { git_feature.stub(:gcommit).and_return gcommit }
|
223
222
|
|
@@ -225,13 +224,14 @@ describe Abak::Flow::Branch do
|
|
225
224
|
end
|
226
225
|
|
227
226
|
context "when branch is not task" do
|
228
|
-
let(:gcommit)
|
227
|
+
let(:gcommit) do
|
228
|
+
double("Git commit",
|
229
|
+
contents: "tree 077f77484213cd706ec6958dc7836d1c8d6aafe6\nparent 266a68fec47942a53a119c78ce74994372107d44\nauthor Strech (Sergey Fedorov) <strech_ftf@mail.ru> 1393176082 +0600\ncommitter Strech (Sergey Fedorov) <strech_ftf@mail.ru> 1393176094 +0600\n\nFIXME: Created example\n\nCloses PC4-12547")
|
230
|
+
end
|
229
231
|
|
230
232
|
before { git_master.stub(:gcommit).and_return gcommit }
|
231
233
|
|
232
|
-
it { expect(master.extract_body).to
|
233
|
-
it { expect(master.extract_body).to include "http://jira.railsc.ru/browse/PC2-1122" }
|
234
|
-
it { expect(master.extract_body).not_to include "PC5-111" }
|
234
|
+
it { expect(master.extract_body).to eq "http://jira.railsc.ru/browse/PC4-12547" }
|
235
235
|
end
|
236
236
|
end
|
237
237
|
end
|
@@ -5,17 +5,13 @@ describe Abak::Flow::Commands::Checkup do
|
|
5
5
|
let(:command) { described_class.new }
|
6
6
|
let(:options) { double("Options") }
|
7
7
|
let(:run) { command.run(Array.new, options) }
|
8
|
-
let(:ansi) { double("ANSI") }
|
9
8
|
let(:manager) do
|
10
9
|
double("Manager", configuration: configuration,
|
11
10
|
repository: repository)
|
12
11
|
end
|
13
12
|
|
14
13
|
before do
|
15
|
-
|
16
|
-
ansi.stub(green: "Success")
|
17
|
-
ansi.stub(red: "Fail")
|
18
|
-
ansi.stub(yellow: "Warning")
|
14
|
+
I18n.stub(:t) { |args| args }
|
19
15
|
|
20
16
|
Abak::Flow::Manager.stub(instance: manager)
|
21
17
|
Abak::Flow::Visitor.any_instance.stub(:say) { |args| args }
|
@@ -26,7 +22,7 @@ describe Abak::Flow::Commands::Checkup do
|
|
26
22
|
let(:repository) { double("Repository", ready?: true, errors: Array.new) }
|
27
23
|
let(:configuration) { double("Configuration", ready?: true, errors: Array.new) }
|
28
24
|
|
29
|
-
it { expect(run).to
|
25
|
+
it { expect(run).to include "commands.checkup.success" }
|
30
26
|
end
|
31
27
|
|
32
28
|
context "when errors occurred" do
|
@@ -5,20 +5,19 @@ describe Abak::Flow::Commands::Compare do
|
|
5
5
|
let(:command) { described_class.new }
|
6
6
|
let(:options) { double("Options") }
|
7
7
|
let(:run) { command.run(Array.new, options) }
|
8
|
-
let(:ansi) { double("ANSI") }
|
9
8
|
let(:git) { double("Git") }
|
9
|
+
let(:github) { double("Github", web_endpoint: "github.com") }
|
10
|
+
let(:master) { double("Master branch", name: "master", full: "master", to_s: "master") }
|
11
|
+
let(:develop) { double("Develop branch", name: "develop", full: "develop", to_s: "develop") }
|
12
|
+
let(:noname) { double("Noname branch", name: "noname", full: "noname", to_s: "noname") }
|
10
13
|
let(:manager) do
|
11
14
|
double("Manager", configuration: configuration,
|
12
|
-
repository: repository, git: git)
|
15
|
+
repository: repository, git: git, github: github)
|
13
16
|
end
|
14
17
|
|
15
18
|
before do
|
16
|
-
stub_const('ANSI', ansi)
|
17
|
-
ansi.stub(green: "Success")
|
18
|
-
ansi.stub(red: "Fail")
|
19
|
-
ansi.stub(yellow: "Warning")
|
20
|
-
|
21
19
|
git.stub(:branch) { |x| x }
|
20
|
+
I18n.stub(:t) { |args| args }
|
22
21
|
|
23
22
|
Abak::Flow::Manager.stub(instance: manager)
|
24
23
|
Abak::Flow::Visitor.any_instance.stub(:say) { |args| args }
|
@@ -34,14 +33,12 @@ describe Abak::Flow::Commands::Compare do
|
|
34
33
|
end
|
35
34
|
|
36
35
|
context "when no errors occurred" do
|
37
|
-
let(:repository) { double("Repository", ready?: true, errors: Array.new, origin: origin) }
|
36
|
+
let(:repository) { double("Repository", ready?: true, errors: Array.new, origin: origin, upstream: upstream) }
|
38
37
|
let(:configuration) { double("Configuration", ready?: true, errors: Array.new) }
|
39
|
-
let(:origin) { double("Origin", repo: "origin-repo/flow") }
|
38
|
+
let(:origin) { double("Origin", repo: "origin-repo/flow", to_s: "origin-repo/flow") }
|
39
|
+
let(:upstream) { double("Upstream", owner: "User") }
|
40
40
|
|
41
41
|
context "when only head/base is given" do
|
42
|
-
let(:current_branch) { double("Current branch", name: "cur-br-name", full: "cur-br-name") }
|
43
|
-
let(:master) { double("Master branch", name: "master", full: "master") }
|
44
|
-
|
45
42
|
before do
|
46
43
|
options.stub(head: master)
|
47
44
|
options.stub(base: nil)
|
@@ -53,36 +50,26 @@ describe Abak::Flow::Commands::Compare do
|
|
53
50
|
git.stub(current_branch: master)
|
54
51
|
master.stub(current: true)
|
55
52
|
|
56
|
-
expect(
|
57
|
-
expect(ansi).to receive(:green)
|
53
|
+
expect(git).to receive(:push).with("origin-repo/flow", master)
|
58
54
|
end
|
59
55
|
|
60
|
-
|
61
|
-
|
62
|
-
it { expect(git).to receive(:push).with("origin-repo/flow", master) }
|
56
|
+
it { expect(run).to include "github.com/origin-repo/flow/compare/User:master...master" }
|
63
57
|
end
|
64
58
|
|
65
59
|
context "when current branch is not master" do
|
66
60
|
before do
|
67
|
-
Abak::Flow::Branch.any_instance.stub(extract_base_name:
|
68
|
-
git.stub(current_branch:
|
61
|
+
Abak::Flow::Branch.any_instance.stub(extract_base_name: noname)
|
62
|
+
git.stub(current_branch: noname)
|
69
63
|
master.stub(current: false)
|
70
64
|
end
|
71
65
|
|
72
66
|
after { run }
|
73
67
|
|
74
|
-
it
|
75
|
-
expect(ansi).to receive(:yellow)
|
76
|
-
expect(ansi).to receive(:green)
|
77
|
-
end
|
68
|
+
it { expect(run).to include "github.com/origin-repo/flow/compare/User:noname...master" }
|
78
69
|
end
|
79
70
|
end
|
80
71
|
|
81
72
|
context "when head and base are given" do
|
82
|
-
let(:current_branch) { double("Current branch") }
|
83
|
-
let(:master) { double("Master branch", name: "master", full: "master") }
|
84
|
-
let(:develop) { double("Develop branch", name: "develop", full: "develop") }
|
85
|
-
|
86
73
|
before do
|
87
74
|
options.stub(head: master)
|
88
75
|
options.stub(base: develop)
|
@@ -90,16 +77,11 @@ describe Abak::Flow::Commands::Compare do
|
|
90
77
|
|
91
78
|
context "when current branch is not head" do
|
92
79
|
before do
|
93
|
-
git.stub(current_branch:
|
80
|
+
git.stub(current_branch: noname)
|
94
81
|
master.stub(current: false)
|
95
82
|
end
|
96
83
|
|
97
|
-
|
98
|
-
|
99
|
-
it do
|
100
|
-
expect(ansi).to receive(:yellow)
|
101
|
-
expect(ansi).to receive(:green)
|
102
|
-
end
|
84
|
+
it { expect(run).to include "github.com/origin-repo/flow/compare/User:develop...master" }
|
103
85
|
end
|
104
86
|
|
105
87
|
context "when current branch is head" do
|
@@ -107,13 +89,10 @@ describe Abak::Flow::Commands::Compare do
|
|
107
89
|
git.stub(current_branch: master)
|
108
90
|
master.stub(current: true)
|
109
91
|
|
110
|
-
expect(
|
111
|
-
expect(ansi).to receive(:green)
|
92
|
+
expect(git).to receive(:push).with("origin-repo/flow", master)
|
112
93
|
end
|
113
94
|
|
114
|
-
|
115
|
-
|
116
|
-
it { expect(git).to receive(:push).with("origin-repo/flow", master) }
|
95
|
+
it { expect(run).to include "github.com/origin-repo/flow/compare/User:develop...master" }
|
117
96
|
end
|
118
97
|
end
|
119
98
|
end
|
metadata
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
name: abak-flow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.0.
|
5
|
+
version: 1.0.9
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Strech (aka Sergey Fedorov)
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-02-
|
12
|
+
date: 2014-02-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: octokit
|