@@ -108,6 +108,44 @@ public function testCanSendSMS(): void
108
108
$ this ->assertSame ("my-personal-reference " , $ sentData ->getClientRef ());
109
109
}
110
110
111
+ public function testCanGetSmsRawResponse (): void
112
+ {
113
+ $ args = [
114
+ 'to ' => '447700900000 ' ,
115
+ 'from ' => '16105551212 ' ,
116
+ 'text ' => "Go To Gino's " ,
117
+ 'account-ref ' => 'customer1234 ' ,
118
+ 'client-ref ' => 'my-personal-reference '
119
+ ];
120
+
121
+ $ this ->vonageClient ->send (Argument::that (function (Request $ request ) use ($ args ) {
122
+ $ this ->assertRequestJsonBodyContains ('to ' , $ args ['to ' ], $ request );
123
+ $ this ->assertRequestJsonBodyContains ('from ' , $ args ['from ' ], $ request );
124
+ $ this ->assertRequestJsonBodyContains ('text ' , $ args ['text ' ], $ request );
125
+ $ this ->assertRequestJsonBodyContains ('account-ref ' , $ args ['account-ref ' ], $ request );
126
+ $ this ->assertRequestJsonBodyContains ('client-ref ' , $ args ['client-ref ' ], $ request );
127
+
128
+ return true ;
129
+ }))->willReturn ($ this ->getResponse ('send-success ' ));
130
+
131
+ $ message = (new SMS ($ args ['to ' ], $ args ['from ' ], $ args ['text ' ]))
132
+ ->setClientRef ($ args ['client-ref ' ])
133
+ ->setAccountRef ($ args ['account-ref ' ]);
134
+ $ response = $ this ->smsClient ->send ($ message );
135
+ $ rawResponse = $ response ->getAllMessagesRaw ();
136
+
137
+ $ this ->assertCount (2 , $ rawResponse );
138
+ $ this ->assertSame ('1 ' , $ rawResponse ['message-count ' ]);
139
+ $ this ->assertCount (1 , $ rawResponse ['messages ' ]);
140
+ $ this ->assertSame ($ args ['to ' ], $ rawResponse ['messages ' ][0 ]['to ' ]);
141
+ $ this ->assertSame ('0A0000000123ABCD1 ' , $ rawResponse ['messages ' ][0 ]['message-id ' ]);
142
+ $ this ->assertSame ("0.03330000 " , $ rawResponse ['messages ' ][0 ]['message-price ' ]);
143
+ $ this ->assertSame ("12345 " , $ rawResponse ['messages ' ][0 ]['network ' ]);
144
+ $ this ->assertSame ("3.14159265 " , $ rawResponse ['messages ' ][0 ]['remaining-balance ' ]);
145
+ $ this ->assertSame ("customer1234 " , $ rawResponse ['messages ' ][0 ]['account-ref ' ]);
146
+ $ this ->assertSame ("my-personal-reference " , $ rawResponse ['messages ' ][0 ]['client-ref ' ]);
147
+ }
148
+
111
149
/**
112
150
* @throws ClientExceptionInterface
113
151
* @throws Client\Exception\Exception
0 commit comments