mirror of
https://github.com/opdavies/glassboxx-sdk-php.git
synced 2025-02-17 22:50:48 +00:00
parent
7162438837
commit
0650795d60
9 changed files with 265 additions and 33 deletions
66
tests/Glassboxx/Request/CustomerRequestTest.php
Normal file
66
tests/Glassboxx/Request/CustomerRequestTest.php
Normal file
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Opdavies\Glassboxx\Tests\Glassboxx\Request;
|
||||
|
||||
use Opdavies\Glassboxx\Request\AuthTokenRequestInterface;
|
||||
use Opdavies\Glassboxx\Request\CustomerRequest;
|
||||
use Opdavies\Glassboxx\Tests\Glassboxx\TestCase;
|
||||
use Opdavies\Glassboxx\ValueObject\CustomerInterface;
|
||||
use Symfony\Component\HttpClient\MockHttpClient;
|
||||
use Symfony\Contracts\HttpClient\ResponseInterface;
|
||||
|
||||
final class CustomerRequestTest extends TestCase
|
||||
{
|
||||
public function testThatItCreatesACustomer(): void
|
||||
{
|
||||
$authTokenRequest = $this->getMockBuilder(AuthTokenRequestInterface::class)
|
||||
->getMock();
|
||||
$authTokenRequest->expects($this->any())
|
||||
->method('getToken')
|
||||
->willReturn('testtoken');
|
||||
|
||||
$response = $this->getMockBuilder(ResponseInterface::class)
|
||||
->getMock();
|
||||
$response->method('getContent')->willReturn('"Success"');
|
||||
|
||||
$client = $this->getMockBuilder(MockHttpClient::class)->getMock();
|
||||
$client->expects($this->once())
|
||||
->method('request')
|
||||
->with(
|
||||
'POST',
|
||||
CustomerRequest::BASE_URL
|
||||
.CustomerRequest::ENDPOINT,
|
||||
[
|
||||
'auth_bearer' => $authTokenRequest->getToken(),
|
||||
'headers' => [
|
||||
'Content-Type' => 'application/json',
|
||||
],
|
||||
'body' => json_encode([
|
||||
'customer' => [
|
||||
'created_in' => 123,
|
||||
'email' => 'oliver@oliverdavies.uk',
|
||||
'firstname' => 'Oliver',
|
||||
'lastname' => 'Davies',
|
||||
],
|
||||
]),
|
||||
]
|
||||
)
|
||||
->willReturn($response);
|
||||
|
||||
$customer = $this->getMockBuilder(CustomerInterface::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$customer->method('getFirstName')->willReturn('Oliver');
|
||||
$customer->method('getLastName')->willReturn('Davies');
|
||||
$customer->method('getEmailAddress')->willReturn('oliver@oliverdavies.uk');
|
||||
|
||||
$request = (new CustomerRequest($client))
|
||||
->forCustomer($customer)
|
||||
->withAuthToken($authTokenRequest->getToken())
|
||||
->withConfig($this->config);
|
||||
|
||||
$this->assertSame('Success', $request->execute());
|
||||
}
|
||||
}
|
24
tests/Glassboxx/ValueObject/CustomerTest.php
Normal file
24
tests/Glassboxx/ValueObject/CustomerTest.php
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Opdavies\Glassboxx\Tests\Glassboxx\ValueObject;
|
||||
|
||||
use Opdavies\Glassboxx\Tests\Glassboxx\TestCase;
|
||||
use Opdavies\Glassboxx\ValueObject\Customer;
|
||||
|
||||
final class CustomerTest extends TestCase
|
||||
{
|
||||
public function testCreatingACustomer(): void
|
||||
{
|
||||
$customer = new Customer(
|
||||
'Oliver',
|
||||
'Davies',
|
||||
'oliver@oliverdavies.uk'
|
||||
);
|
||||
|
||||
$this->assertSame('Oliver', $customer->getFirstName());
|
||||
$this->assertSame('Davies', $customer->getLastName());
|
||||
$this->assertSame('oliver@oliverdavies.uk', $customer->getEmailAddress());
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue