Skip to content

Commit e1bc9cd

Browse files
committed
Update & fix current specs
1 parent 805c78d commit e1bc9cd

2 files changed

Lines changed: 46 additions & 28 deletions

File tree

spec/line/bot/v2/misc_spec.rb

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -372,9 +372,10 @@
372372

373373
expect(status_code).to eq(200)
374374
expect(body).to be_a(Line::Bot::V2::MessagingApi::PushMessageResponse)
375-
# TODO: Add test after https://github.com/line/line-bot-sdk-ruby/issues/440 is resolved
376-
# We should access body.sent_messages[0].id and body.sent_messages[0].quote_token, but it's not possible now.
377-
expect(body.sent_messages).to eq([{ id: '461230966842064897', quote_token: 'IStG5h1Tz7b...' }])
375+
expect(body.sent_messages).to be_a(Array)
376+
expect(body.sent_messages[0]).to be_a(Line::Bot::V2::MessagingApi::SentMessage)
377+
expect(body.sent_messages[0].id).to eq('461230966842064897')
378+
expect(body.sent_messages[0].quote_token).to eq('IStG5h1Tz7b...')
378379
end
379380

380381
it 'response - success - using hash (not recommended way)' do
@@ -452,9 +453,10 @@
452453

453454
expect(status_code).to eq(200)
454455
expect(body).to be_a(Line::Bot::V2::MessagingApi::PushMessageResponse)
455-
# TODO: Add test after https://github.com/line/line-bot-sdk-ruby/issues/440 is resolved
456-
# We should access body.sent_messages[0].id and body.sent_messages[0].quote_token, but it's not possible now.
457-
expect(body.sent_messages).to eq([{ id: '461230966842064897', quote_token: 'IStG5h1Tz7b...' }])
456+
expect(body.sent_messages).to be_a(Array)
457+
expect(body.sent_messages[0]).to be_a(Line::Bot::V2::MessagingApi::SentMessage)
458+
expect(body.sent_messages[0].id).to eq('461230966842064897')
459+
expect(body.sent_messages[0].quote_token).to eq('IStG5h1Tz7b...')
458460
end
459461

460462
it 'request with x_line_retry_key: nil' do
@@ -530,9 +532,10 @@
530532
)
531533
expect(status_code).to eq(200)
532534
expect(body).to be_a(Line::Bot::V2::MessagingApi::PushMessageResponse)
533-
# TODO: Add test after https://github.com/line/line-bot-sdk-ruby/issues/440 is resolved
534-
# We should access body.sent_messages[0].id and body.sent_messages[0].quote_token, but it's not possible now.
535-
expect(body.sent_messages).to eq([{ id: '461230966842064897', quote_token: 'IStG5h1Tz7b...' }])
535+
expect(body.sent_messages).to be_a(Array)
536+
expect(body.sent_messages[0]).to be_a(Line::Bot::V2::MessagingApi::SentMessage)
537+
expect(body.sent_messages[0].id).to eq('461230966842064897')
538+
expect(body.sent_messages[0].quote_token).to eq('IStG5h1Tz7b...')
536539
end
537540

538541
it 'request with x-line-retry-key header - conflicted' do
@@ -588,9 +591,10 @@
588591
expect(status_code).to eq(409)
589592
expect(body).to be_a(Line::Bot::V2::MessagingApi::ErrorResponse)
590593
expect(body.message).to eq("The retry key is already accepted")
591-
# TODO: Add test after https://github.com/line/line-bot-sdk-ruby/issues/440 is resolved.
592-
# We should access body.sent_messages[0].id and body.sent_messages[0].quote_token, but it's not possible now.
593-
expect(body.sent_messages).to eq([{ id: '461230966842064897', quote_token: 'IStG5h1Tz7b...' }])
594+
expect(body.sent_messages).to be_a(Array)
595+
expect(body.sent_messages[0]).to be_a(Line::Bot::V2::MessagingApi::SentMessage)
596+
expect(body.sent_messages[0].id).to eq('461230966842064897')
597+
expect(body.sent_messages[0].quote_token).to eq('IStG5h1Tz7b...')
594598
expect(headers['x-line-request-id']).to eq(request_id)
595599
expect(headers['x-line-accepted-request-id']).to eq(accepted_request_id)
596600
end
@@ -975,10 +979,14 @@
975979
alt_text: 'Test Alt Text',
976980
contents: Line::Bot::V2::MessagingApi::FlexBubble.new( # FlexBubble has many optional fields
977981
direction: 'ltr',
978-
body: Line::Bot::V2::MessagingApi::FlexText.new(
979-
text: 'Test Text',
980-
weight: 'bold',
981-
size: 'xl'
982+
body: Line::Bot::V2::MessagingApi::FlexBox.new(
983+
layout: 'vertical',
984+
contents: [
985+
Line::Bot::V2::MessagingApi::FlexText.new(
986+
text: 'Test Text',
987+
weight: 'bold'
988+
)
989+
]
982990
)
983991
),
984992
quick_reply: Line::Bot::V2::MessagingApi::QuickReply.new(
@@ -995,10 +1003,15 @@
9951003
type: 'bubble',
9961004
direction: 'ltr',
9971005
body: {
998-
type: 'text',
999-
text: 'Test Text',
1000-
size: 'xl',
1001-
weight: 'bold'
1006+
type: 'box',
1007+
layout: 'vertical',
1008+
contents: [
1009+
{
1010+
type: 'text',
1011+
text: 'Test Text',
1012+
weight: 'bold'
1013+
}
1014+
]
10021015
}
10031016
}
10041017
}

spec/line/bot/v2/webhook_parser_spec.rb

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@
2323
"foo": {
2424
"bar": "baz"
2525
},
26-
"mode": "active"
26+
"mode": "active",
27+
"deliveryContext": {
28+
"isRedelivery": false
29+
}
2730
}
2831
]
2932
}
@@ -35,13 +38,15 @@
3538
expect(events).not_to be_empty
3639

3740
event = events.first
38-
expect(event).to be_a(Struct)
41+
expect(event).to be_a(Line::Bot::V2::Webhook::Event)
3942
expect(event.type).to eq('hoge')
4043
expect(event.webhook_event_id).to eq('01G17EJCGAVV66J5WNA7ZCTF6H')
4144
expect(event.timestamp).to eq(1650591346705)
4245
expect(event.foo).to be_a(Struct)
4346
expect(event.foo.bar).to eq('baz')
4447
expect(event.mode).to eq('active')
48+
expect(event.delivery_context).to be_a(Line::Bot::V2::Webhook::DeliveryContext)
49+
expect(event.delivery_context.is_redelivery).to be false
4550
end
4651
end
4752

@@ -94,7 +99,7 @@
9499
expect(event.webhook_event_id).to eq('01FZ74A0TDDPYRVKNK77XKC3ZR')
95100
expect(event.delivery_context).to be_a(Line::Bot::V2::Webhook::DeliveryContext)
96101
expect(event.delivery_context.is_redelivery).to be false
97-
expect(event.message).to be_a(Struct)
102+
expect(event.message).to be_a(Line::Bot::V2::Webhook::MessageContent)
98103
expect(event.message.id).to eq('444573844083572737')
99104
expect(event.message.type).to eq('hoge')
100105
expect(event.message.quote_token).to eq('q3Plxr4AgKd...')
@@ -1212,8 +1217,8 @@
12121217
expect(event.delivery_context.is_redelivery).to be false
12131218
expect(event.postback).to be_a(Line::Bot::V2::Webhook::PostbackContent)
12141219
expect(event.postback.data).to eq('storeId=12345')
1215-
expect(event.postback.params).to be_a(Struct)
1216-
expect(event.postback.params.datetime).to eq('2017-12-25T01:00')
1220+
expect(event.postback.params).to be_a(Hash)
1221+
expect(event.postback.params[:datetime]).to eq('2017-12-25T01:00')
12171222
end
12181223
end
12191224

@@ -1266,9 +1271,9 @@
12661271
expect(event.delivery_context.is_redelivery).to be false
12671272
expect(event.postback).to be_a(Line::Bot::V2::Webhook::PostbackContent)
12681273
expect(event.postback.data).to eq('richmenu-changed-to-b')
1269-
expect(event.postback.params).to be_a(Struct)
1270-
expect(event.postback.params.new_rich_menu_alias_id).to eq('richmenu-alias-b')
1271-
expect(event.postback.params.status).to eq('SUCCESS')
1274+
expect(event.postback.params).to be_a(Hash)
1275+
expect(event.postback.params[:new_rich_menu_alias_id]).to eq('richmenu-alias-b')
1276+
expect(event.postback.params[:status]).to eq('SUCCESS')
12721277
end
12731278
end
12741279

0 commit comments

Comments
 (0)