boty 0.0.17 → 0.0.17.1
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 +1 -1
- data/boty.gemspec +1 -1
- data/lib/boty/version.rb +1 -1
- data/spec/boty/bot_spec.rb +419 -0
- data/spec/boty/cli_spec.rb +87 -0
- data/spec/boty/logger_spec.rb +32 -0
- data/spec/boty/message_spec.rb +32 -0
- data/spec/boty/rspec_spec.rb +36 -0
- data/spec/boty/session_spec.rb +70 -0
- data/spec/boty/slack/chat_spec.rb +73 -0
- data/spec/boty/slack/im_spec.rb +34 -0
- data/spec/boty/slack/rtm_spec.rb +20 -0
- data/spec/boty/slack/url_spec.rb +71 -0
- data/spec/boty/slack/users_spec.rb +44 -0
- data/spec/happy_path_spec.rb +88 -0
- data/spec/script/i18n_spec.rb +22 -0
- data/spec/script/knows_spec.rb +18 -0
- data/spec/script/pug_spec.rb +53 -0
- data/spec/script/remember_spec.rb +43 -0
- data/spec/spec_helper.rb +25 -0
- data/spec/support/em_support.rb +13 -0
- data/spec/support/fakefs_support.rb +13 -0
- data/spec/support/faraday_support.rb +15 -0
- data/spec/support/faye_support.rb +34 -0
- data/spec/support/file_system_matchers.rb +19 -0
- data/spec/support/session_support.rb +31 -0
- data/spec/support/slack_support.rb +28 -0
- data/spec/support/template_project_support.rb +44 -0
- data/spec/support/thor_support.rb +21 -0
- metadata +27 -1
@@ -0,0 +1,44 @@
|
|
1
|
+
require "support/thor_support"
|
2
|
+
require "boty/cli"
|
3
|
+
|
4
|
+
module TemplateProjectSupport
|
5
|
+
include ThorSupport
|
6
|
+
|
7
|
+
def self.included(base)
|
8
|
+
def dry_run
|
9
|
+
allow(cli).to receive(:run)
|
10
|
+
end
|
11
|
+
|
12
|
+
def create_bot(name = nil, company:, api_key:)
|
13
|
+
allow(cli).to receive(:ask).and_return company, api_key
|
14
|
+
cli.new name || bot_name
|
15
|
+
end
|
16
|
+
|
17
|
+
base.instance_eval do
|
18
|
+
before(:all) do
|
19
|
+
@original_dir = FileUtils.pwd
|
20
|
+
FileUtils.mkdir_p "tpl_project_tmp" if !Dir.exists? "tpl_project_tmp"
|
21
|
+
FileUtils.chdir "tpl_project_tmp"
|
22
|
+
end
|
23
|
+
|
24
|
+
before do
|
25
|
+
FileUtils.rm_rf bot_name if Dir.exists? bot_name
|
26
|
+
end
|
27
|
+
|
28
|
+
after(:all) do
|
29
|
+
FileUtils.chdir @original_dir
|
30
|
+
FileUtils.rm_rf "tpl_project_tmp"
|
31
|
+
end
|
32
|
+
|
33
|
+
subject(:cli) { Boty::CLI.new }
|
34
|
+
let(:bot_name) { "jeeba" }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
RSpec::Matchers.define :run do |command|
|
40
|
+
match do |bot|
|
41
|
+
expect(bot).to receive(:run).with command
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module ThorSupport
|
2
|
+
# stolen from https://github.com/erikhuda/thor/blob/3241f2fbf1172b6182723b073fd4b390200660e9/spec/helper.rb#L51
|
3
|
+
def capture(stream)
|
4
|
+
begin
|
5
|
+
stream = stream.to_s
|
6
|
+
eval "$#{stream} = StringIO.new"
|
7
|
+
yield
|
8
|
+
result = eval("$#{stream}").string
|
9
|
+
ensure
|
10
|
+
eval("$#{stream} = #{stream.upcase}")
|
11
|
+
end
|
12
|
+
|
13
|
+
result
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
RSpec::Matchers.define :run do |command|
|
18
|
+
match do |bot|
|
19
|
+
expect(bot).to receive(:run).with command
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.17
|
4
|
+
version: 0.0.17.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ricardo Valeriano
|
@@ -202,6 +202,32 @@ files:
|
|
202
202
|
- script/knows.rb
|
203
203
|
- script/pug.rb
|
204
204
|
- script/remember.rb
|
205
|
+
- spec/boty/bot_spec.rb
|
206
|
+
- spec/boty/cli_spec.rb
|
207
|
+
- spec/boty/logger_spec.rb
|
208
|
+
- spec/boty/message_spec.rb
|
209
|
+
- spec/boty/rspec_spec.rb
|
210
|
+
- spec/boty/session_spec.rb
|
211
|
+
- spec/boty/slack/chat_spec.rb
|
212
|
+
- spec/boty/slack/im_spec.rb
|
213
|
+
- spec/boty/slack/rtm_spec.rb
|
214
|
+
- spec/boty/slack/url_spec.rb
|
215
|
+
- spec/boty/slack/users_spec.rb
|
216
|
+
- spec/happy_path_spec.rb
|
217
|
+
- spec/script/i18n_spec.rb
|
218
|
+
- spec/script/knows_spec.rb
|
219
|
+
- spec/script/pug_spec.rb
|
220
|
+
- spec/script/remember_spec.rb
|
221
|
+
- spec/spec_helper.rb
|
222
|
+
- spec/support/em_support.rb
|
223
|
+
- spec/support/fakefs_support.rb
|
224
|
+
- spec/support/faraday_support.rb
|
225
|
+
- spec/support/faye_support.rb
|
226
|
+
- spec/support/file_system_matchers.rb
|
227
|
+
- spec/support/session_support.rb
|
228
|
+
- spec/support/slack_support.rb
|
229
|
+
- spec/support/template_project_support.rb
|
230
|
+
- spec/support/thor_support.rb
|
205
231
|
- template/project/%bot_name%.rb
|
206
232
|
- template/project/.env.local.tt
|
207
233
|
- template/project/.rspec
|