-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathbasic_functionality_spec.rb
More file actions
60 lines (49 loc) · 2 KB
/
Copy pathbasic_functionality_spec.rb
File metadata and controls
60 lines (49 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
require "spec_helper"
require "rails_helper"
require "bot/base_bot_logic"
describe BaseBotLogic do
before do
stub_request_to_be_ok
end
describe "botstack base module" do
let(:test_message) { "hello world" }
let(:test_image) { "http://example.com/cat.png" }
let(:test_audio) { "http://example.com/cat.mp3" }
let(:test_coords) { { "coordinates.lat" => 10, "coordinates.long" => 10 } }
it "receives a hello world message" do
BaseBotLogic::handle_request(generate_message(test_message), "TEXT")
expect(BaseBotLogic::get_message).to eql test_message
end
it "receives an image" do
BaseBotLogic::handle_request(generate_message_image(test_image), "TEXT")
expect(BaseBotLogic::get_message).to eql nil
expect(BaseBotLogic::get_request_type).to eql "IMAGE"
expect(BaseBotLogic::get_msg_meta).to eql test_image
end
it "receives a location" do
BaseBotLogic::handle_request(generate_message_location(test_coords), "TEXT")
expect(BaseBotLogic::get_message).to eql nil
expect(BaseBotLogic::get_request_type).to eql "LOCATION"
expect(BaseBotLogic::get_msg_meta).to eql test_coords
end
it "receives an audio" do
BaseBotLogic::handle_request(generate_message_audio(test_audio), "TEXT")
expect(BaseBotLogic::get_message).to eql nil
expect(BaseBotLogic::get_request_type).to eql "AUDIO"
expect(BaseBotLogic::get_msg_meta).to eql test_image
end
it "sends a message" do
expect(BaseBotLogic).to receive(:reply_message).with(test_message)
BaseBotLogic::reply_message test_message
end
end
describe "botstack emoji module" do
let(:emoji_token) { ":cat:" }
let(:emoji_message){ BaseBotLogic::compute_emojis(emoji_token) }
it "receives an emoji" do
BaseBotLogic::handle_request(generate_message(emoji_message), "TEXT")
message_token = BaseBotLogic::parse_emojis(BaseBotLogic::get_message)
expect(message_token).to eql emoji_token
end
end
end