|
30 | 30 | expect(response.body).to eq(expected)
|
31 | 31 | end
|
32 | 32 |
|
| 33 | + it 'pushes the location message with additional payload' do |
| 34 | + uri_template = Addressable::Template.new Line::Bot::API::DEFAULT_ENDPOINT + '/bot/message/push' |
| 35 | + stub_request(:post, uri_template).to_return { |request| {body: request.body, status: 200} } |
| 36 | + |
| 37 | + client = Line::Bot::Client.new do |config| |
| 38 | + config.channel_token = 'channel_token' |
| 39 | + end |
| 40 | + |
| 41 | + user_id = 'user_id' |
| 42 | + message = { |
| 43 | + 'type' => 'location', |
| 44 | + 'title' => 'LINE Corporation.', |
| 45 | + 'address' => 'Hikarie Shibuya-ku Tokyo 151-0002', |
| 46 | + 'latitude' => 35.61823286112982, |
| 47 | + 'longitude' => 139.72824096679688, |
| 48 | + } |
| 49 | + response = client.push_message(user_id, message, payload: {'customAggregationUnits' => ['test']}) |
| 50 | + |
| 51 | + expected = { |
| 52 | + 'to' => user_id, |
| 53 | + 'messages' => [ |
| 54 | + message |
| 55 | + ], |
| 56 | + 'customAggregationUnits' => ['test'] |
| 57 | + } |
| 58 | + expect(JSON.parse(response.body)).to eq(expected) |
| 59 | + end |
| 60 | + |
33 | 61 | it 'replies the location message' do
|
34 | 62 | uri_template = Addressable::Template.new Line::Bot::API::DEFAULT_ENDPOINT + '/bot/message/reply'
|
35 | 63 | stub_request(:post, uri_template).to_return { |request| {body: request.body, status: 200} }
|
|
83 | 111 | }.to_json
|
84 | 112 | expect(response.body).to eq(expected)
|
85 | 113 | end
|
| 114 | + |
| 115 | + it 'multicasts the location message with additional payload' do |
| 116 | + uri_template = Addressable::Template.new Line::Bot::API::DEFAULT_ENDPOINT + '/bot/message/multicast' |
| 117 | + stub_request(:post, uri_template).to_return { |request| {body: request.body, status: 200} } |
| 118 | + |
| 119 | + client = Line::Bot::Client.new do |config| |
| 120 | + config.channel_token = 'channel_token' |
| 121 | + end |
| 122 | + |
| 123 | + user_ids = ['user1', 'user2'] |
| 124 | + message = { |
| 125 | + 'type' => 'location', |
| 126 | + 'title' => 'LINE Corporation.', |
| 127 | + 'address' => 'Hikarie Shibuya-ku Tokyo 151-0002', |
| 128 | + 'latitude' => 35.61823286112982, |
| 129 | + 'longitude' => 139.72824096679688, |
| 130 | + } |
| 131 | + response = client.multicast(user_ids, message, payload: {'customAggregationUnits' => ['test']}) |
| 132 | + |
| 133 | + expected = { |
| 134 | + 'to' => user_ids, |
| 135 | + 'messages' => [ |
| 136 | + message |
| 137 | + ], |
| 138 | + 'customAggregationUnits' => ['test'] |
| 139 | + } |
| 140 | + expect(JSON.parse(response.body)).to eq(expected) |
| 141 | + end |
86 | 142 | end
|
0 commit comments