forked from seven-io/php-client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNumbersTest.php
47 lines (38 loc) · 2.13 KB
/
NumbersTest.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
<?php declare(strict_types=1);
namespace Seven\Tests;
use Seven\Api\Resource\Numbers\ListAvailableParams;
use Seven\Api\Resource\Numbers\OrderParams;
use Seven\Api\Resource\Numbers\PaymentInterval;
use Seven\Api\Resource\Numbers\UpdateParams;
class NumbersTest extends BaseTest {
public function testAll(): void {
$availableParams = (new ListAvailableParams)
->setCountry('DE')
->setFeaturesApplicationToPersonSms(true);
$offers = $this->resources->numbers->listAvailable($availableParams)->getAvailableNumbers();
$this->assertNotEmpty($offers);
foreach ($offers as $offer) {
$this->assertEquals($availableParams->getCountry(), $offer->getCountry());
$this->assertTrue($offer->getFeatures()->isApplicationToPersonSms());
}
$firstOffer = $offers[0];
$orderParams = (new OrderParams($firstOffer->getNumber()))->setPaymentInterval(PaymentInterval::MONTHLY);
$order = $this->resources->numbers->order($orderParams);
$this->assertNull($order->getError());
$this->assertTrue($order->isSuccess());
$updateParams = (new UpdateParams($firstOffer->getNumber()))
->setEmailForward(['[email protected]'])
->setFriendlyName('Friendly Name')
->setSmsForward(['491716992343']);
$updated = $this->resources->numbers->update($updateParams);
$this->assertEquals($updateParams->getFriendlyName(), $updated->getFriendlyName());
$this->assertEquals($updateParams->getEmailForward(), $updated->getForwardInboundSms()->getEmail()->getAddresses());
$this->assertEquals($updateParams->getSmsForward(), $updated->getForwardInboundSms()->getSms()->getNumbers());
$number = $this->resources->numbers->get($firstOffer->getNumber());
$this->assertEquals($orderParams->getPaymentInterval(), $number->getBilling()->getPaymentInterval());
$actives = $this->resources->numbers->listActive();
$this->assertNotEmpty($actives);
$deleted = $this->resources->numbers->delete($firstOffer->getNumber());
$this->assertTrue($deleted->isSuccess());
}
}