42 lines
1.4 KiB
PHP
42 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace CommerceGuys\Addressing\Tests;
|
|
|
|
use CommerceGuys\Addressing\UpdateHelper;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
/**
|
|
* @coversDefaultClass \CommerceGuys\Addressing\UpdateHelper
|
|
*/
|
|
final class UpdateHelperTest extends TestCase
|
|
{
|
|
/**
|
|
* @covers ::splitRecipient
|
|
*/
|
|
public function testSplitRecipient()
|
|
{
|
|
$expectedName = ['givenName' => 'Erzsébet', 'familyName' => 'Báthory'];
|
|
$this->assertEquals($expectedName, UpdateHelper::splitRecipient('Báthory Erzsébet', 'HU'));
|
|
$expectedName = ['givenName' => 'Matt', 'familyName' => 'Glaman'];
|
|
$this->assertEquals($expectedName, UpdateHelper::splitRecipient('Matt Glaman', 'US'));
|
|
}
|
|
|
|
/**
|
|
* @covers ::updateSubdivision
|
|
* @covers ::loadSubdivisionUpdateMap
|
|
*/
|
|
public function testUpdateSubdivision()
|
|
{
|
|
// No predefined subdivisions.
|
|
$this->assertEquals('RS-RS', UpdateHelper::updateSubdivision('RS-RS'));
|
|
// No dash.
|
|
$this->assertEquals('California', UpdateHelper::updateSubdivision('California'));
|
|
// Simple conversion.
|
|
$this->assertEquals('CA', UpdateHelper::updateSubdivision('US-CA'));
|
|
// Mapping.
|
|
$this->assertEquals('Hokkaido', UpdateHelper::updateSubdivision('JP-01'));
|
|
// Unknown.
|
|
$this->assertEquals('JP-CA', UpdateHelper::updateSubdivision('JP-CA'));
|
|
}
|
|
}
|