/var/www/hkosl.com/b2b2c/webadmin/libraies/twilio/sdk/tests/resources/IncomingPhoneNumbersTest.php


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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php

use \Mockery as m;

class 
IncomingPhoneNumbersTest extends PHPUnit_Framework_TestCase {

    protected 
$apiResponse = array(
        
'incoming_phone_numbers' => array(
            array(
                
'sid' => 'PN123',
                
'sms_fallback_method' => 'POST',
                
'voice_method' => 'POST',
                
'friendly_name' => '(510) 564-7903',
            )
        ),
    );

    function 
testGetNumberWithResult() {
        
$http m::mock(new Services_Twilio_TinyHttp);
        
$http->shouldReceive('get')->once()
            ->
with('/2010-04-01/Accounts/AC123/IncomingPhoneNumbers.json?Page=0&PageSize=1&PhoneNumber=%2B14105551234')
            ->
andReturn(array(200, array('Content-Type' => 'application/json'),
                
json_encode($this->apiResponse)
            )
        );
        
$client = new Services_Twilio('AC123''123''2010-04-01'$http);
        
$number $client->account->incoming_phone_numbers->getNumber('+14105551234');
        
$this->assertEquals('PN123'$number->sid);
    }

    function 
testGetNumberNoResults() {
        
$http m::mock(new Services_Twilio_TinyHttp);
        
$http->shouldReceive('get')->once()
            ->
with('/2010-04-01/Accounts/AC123/IncomingPhoneNumbers.json?Page=0&PageSize=1&PhoneNumber=%2B14105551234')
            ->
andReturn(array(200, array('Content-Type' => 'application/json'),
                
json_encode(array(
                    
'incoming_phone_numbers' => array(),
                    
'page' => 0,
                    
'page_size' => 1,
                ))
            )
        );
        
$client = new Services_Twilio('AC123''123''2010-04-01'$http);
        
$number $client->account->incoming_phone_numbers->getNumber('+14105551234');
        
$this->assertNull($number);
    }

    function 
testGetMobile() {
        
$http m::mock(new Services_Twilio_TinyHttp);
        
$http->shouldReceive('get')->once()
            ->
with('/2010-04-01/Accounts/AC123/IncomingPhoneNumbers/Mobile.json?Page=0&PageSize=50')
            ->
andReturn(array(200, array('Content-Type' => 'application/json'),
                
json_encode($this->apiResponse)
            ));
        
$http->shouldReceive('get')->once()
            ->
with('/2010-04-01/Accounts/AC123/IncomingPhoneNumbers/Mobile.json?Page=1&PageSize=50')
            ->
andReturn(array(400, array('Content-Type' => 'application/json'),
                
'{"status":400,"message":"foo", "code": "20006"}'
            
));
        
$client = new Services_Twilio('AC123''123''2010-04-01'$http);
        foreach (
$client->account->incoming_phone_numbers->mobile as $num) {
            
$this->assertEquals('(510) 564-7903'$num->friendly_name);
        }
    }

    function 
testGetLocal() {
        
$http m::mock(new Services_Twilio_TinyHttp);
        
$http->shouldReceive('get')->once()
            ->
with('/2010-04-01/Accounts/AC123/IncomingPhoneNumbers/Local.json?Page=0&PageSize=50')
            ->
andReturn(array(200, array('Content-Type' => 'application/json'),
                
json_encode($this->apiResponse)
            ));
        
$http->shouldReceive('get')->once()
            ->
with('/2010-04-01/Accounts/AC123/IncomingPhoneNumbers/Local.json?Page=1&PageSize=50')
            ->
andReturn(array(400, array('Content-Type' => 'application/json'),
                
'{"status":400,"message":"foo", "code": "20006"}'
            
));
        
$client = new Services_Twilio('AC123''123''2010-04-01'$http);

        foreach (
$client->account->incoming_phone_numbers->local as $num) {
            
$this->assertEquals('(510) 564-7903'$num->friendly_name);
        }
    }

    function 
testGetTollFree() {
        
$http m::mock(new Services_Twilio_TinyHttp);
        
$http->shouldReceive('get')->once()
            ->
with('/2010-04-01/Accounts/AC123/IncomingPhoneNumbers/TollFree.json?Page=0&PageSize=50')
            ->
andReturn(array(200, array('Content-Type' => 'application/json'),
                
json_encode($this->apiResponse)
            ));
        
$http->shouldReceive('get')->once()
            ->
with('/2010-04-01/Accounts/AC123/IncomingPhoneNumbers/TollFree.json?Page=1&PageSize=50')
            ->
andReturn(array(400, array('Content-Type' => 'application/json'),
                
'{"status":400,"message":"foo", "code": "20006"}'
            
));
        
$client = new Services_Twilio('AC123''123''2010-04-01'$http);
        foreach (
$client->account->incoming_phone_numbers->toll_free as $num) {
            
$this->assertEquals('(510) 564-7903'$num->friendly_name);
        }
    }

}