@@ -67,6 +67,20 @@ class EventRequestParserTest extends \PHPUnit_Framework_TestCase
6767 "type":"image"
6868 }
6969 },
70+ {
71+ "type":"message",
72+ "timestamp":12345678901234,
73+ "source":{
74+ "type":"group",
75+ "groupId":"groupid",
76+ "userId":"userid"
77+ },
78+ "replyToken":"replytoken",
79+ "message":{
80+ "id":"contentid",
81+ "type":"audio"
82+ }
83+ },
7084 {
7185 "type":"message",
7286 "timestamp":12345678901234,
@@ -85,7 +99,8 @@ class EventRequestParserTest extends \PHPUnit_Framework_TestCase
8599 "timestamp":12345678901234,
86100 "source":{
87101 "type":"room",
88- "roomId":"roomid"
102+ "roomId":"roomid",
103+ "userId":"userid"
89104 },
90105 "replyToken":"replytoken",
91106 "message":{
@@ -221,9 +236,9 @@ public function testParseEventRequest()
221236 {
222237 $ bot = new LINEBot (new DummyHttpClient ($ this , function () {
223238 }), ['channelSecret ' => 'testsecret ' ]);
224- $ events = $ bot ->parseEventRequest ($ this ::$ json , 'nwhDFVDoPEfWyaXthI/KrL0HdTJWafDYqW6RHlgvi6M = ' );
239+ $ events = $ bot ->parseEventRequest ($ this ::$ json , 'Cz7xWmZJizFKB+paG1imAwycGOSAq6IUMVw4slB3VpQ = ' );
225240
226- $ this ->assertEquals (count ($ events ), 15 );
241+ $ this ->assertEquals (count ($ events ), 16 );
227242
228243 {
229244 // text
@@ -247,18 +262,35 @@ public function testParseEventRequest()
247262 $ this ->assertTrue ($ event ->isGroupEvent ());
248263 $ this ->assertEquals ('groupid ' , $ event ->getGroupId ());
249264 $ this ->assertEquals ('groupid ' , $ event ->getEventSourceId ());
265+ $ this ->assertEquals (null , $ event ->getUserId ());
250266 $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent\ImageMessage ' , $ event );
251267 /** @var ImageMessage $event */
252268 $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
253269 $ this ->assertEquals ('image ' , $ event ->getMessageType ());
270+ $ this ->assertEquals ('contentid ' , $ event ->getMessageId ());
254271 }
255272
256273 {
257- // video
274+ // audio (group event & it has user ID)
258275 $ event = $ events [2 ];
276+ $ this ->assertTrue ($ event ->isGroupEvent ());
277+ $ this ->assertEquals ('groupid ' , $ event ->getGroupId ());
278+ $ this ->assertEquals ('groupid ' , $ event ->getEventSourceId ());
279+ $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent\AudioMessage ' , $ event );
280+ $ this ->assertEquals ('userid ' , $ event ->getUserId ());
281+ /** @var AudioMessage $event */
282+ $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
283+ $ this ->assertEquals ('audio ' , $ event ->getMessageType ());
284+ $ this ->assertEquals ('contentid ' , $ event ->getMessageId ());
285+ }
286+
287+ {
288+ // video
289+ $ event = $ events [3 ];
259290 $ this ->assertTrue ($ event ->isRoomEvent ());
260291 $ this ->assertEquals ('roomid ' , $ event ->getRoomId ());
261292 $ this ->assertEquals ('roomid ' , $ event ->getEventSourceId ());
293+ $ this ->assertEquals (null , $ event ->getUserId ());
262294 $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent\VideoMessage ' , $ event );
263295 /** @var VideoMessage $event */
264296 $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
@@ -267,7 +299,9 @@ public function testParseEventRequest()
267299
268300 {
269301 // audio
270- $ event = $ events [3 ];
302+ $ event = $ events [4 ];
303+ $ this ->assertTrue ($ event ->isRoomEvent ());
304+ $ this ->assertEquals ('userid ' , $ event ->getUserId ());
271305 $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent\AudioMessage ' , $ event );
272306 /** @var AudioMessage $event */
273307 $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
@@ -276,7 +310,7 @@ public function testParseEventRequest()
276310
277311 {
278312 // location
279- $ event = $ events [4 ];
313+ $ event = $ events [5 ];
280314 $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent\LocationMessage ' , $ event );
281315 /** @var LocationMessage $event */
282316 $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
@@ -289,7 +323,7 @@ public function testParseEventRequest()
289323
290324 {
291325 // sticker
292- $ event = $ events [5 ];
326+ $ event = $ events [6 ];
293327 $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent\StickerMessage ' , $ event );
294328 /** @var StickerMessage $event */
295329 $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
@@ -300,39 +334,39 @@ public function testParseEventRequest()
300334
301335 {
302336 // follow
303- $ event = $ events [6 ];
337+ $ event = $ events [7 ];
304338 $ this ->assertInstanceOf ('LINE\LINEBot\Event\FollowEvent ' , $ event );
305339 /** @var FollowEvent $event */
306340 $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
307341 }
308342
309343 {
310344 // unfollow
311- $ event = $ events [7 ];
345+ $ event = $ events [8 ];
312346 $ this ->assertInstanceOf ('LINE\LINEBot\Event\UnfollowEvent ' , $ event );
313347 /** @var UnfollowEvent $event */
314348 $ this ->assertTrue ($ event ->getReplyToken () === null );
315349 }
316350
317351 {
318352 // join
319- $ event = $ events [8 ];
353+ $ event = $ events [9 ];
320354 $ this ->assertInstanceOf ('LINE\LINEBot\Event\JoinEvent ' , $ event );
321355 /** @var JoinEvent $event */
322356 $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
323357 }
324358
325359 {
326360 // leave
327- $ event = $ events [9 ];
361+ $ event = $ events [10 ];
328362 $ this ->assertInstanceOf ('LINE\LINEBot\Event\LeaveEvent ' , $ event );
329363 /** @var LeaveEvent $event */
330364 $ this ->assertTrue ($ event ->getReplyToken () === null );
331365 }
332366
333367 {
334368 // postback
335- $ event = $ events [10 ];
369+ $ event = $ events [11 ];
336370 $ this ->assertInstanceOf ('LINE\LINEBot\Event\PostbackEvent ' , $ event );
337371 /** @var PostbackEvent $event */
338372 $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
@@ -341,7 +375,7 @@ public function testParseEventRequest()
341375
342376 {
343377 // beacon
344- $ event = $ events [11 ];
378+ $ event = $ events [12 ];
345379 $ this ->assertInstanceOf ('LINE\LINEBot\Event\BeaconDetectionEvent ' , $ event );
346380 /** @var BeaconDetectionEvent $event */
347381 $ this ->assertEquals ('replytoken ' , $ event ->getReplyToken ());
@@ -352,7 +386,7 @@ public function testParseEventRequest()
352386
353387 {
354388 // unknown event (event source: user)
355- $ event = $ events [12 ];
389+ $ event = $ events [13 ];
356390 $ this ->assertInstanceOf ('LINE\LINEBot\Event\UnknownEvent ' , $ event );
357391 /** @var UnknownEvent $event */
358392 $ this ->assertEquals ('__unknown__ ' , $ event ->getType ());
@@ -366,7 +400,7 @@ public function testParseEventRequest()
366400
367401 {
368402 // unknown event (event source: unknown)
369- $ event = $ events [13 ];
403+ $ event = $ events [14 ];
370404 $ this ->assertInstanceOf ('LINE\LINEBot\Event\UnknownEvent ' , $ event );
371405 /** @var UnknownEvent $event */
372406 $ this ->assertEquals ('__unknown__ ' , $ event ->getType ());
@@ -379,7 +413,7 @@ public function testParseEventRequest()
379413
380414 {
381415 // message event & unknown message event
382- $ event = $ events [14 ];
416+ $ event = $ events [15 ];
383417 $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent ' , $ event );
384418 $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent\UnknownMessage ' , $ event );
385419 /** @var UnknownMessage $event */
0 commit comments