meraproject/vendor/yoomoney/yookassa-sdk-php/tests/Request/SelfEmployed/SelfEmployedResponseTest.php
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

425 lines
14 KiB
PHP

<?php
namespace Tests\YooKassa\Request\SelfEmployed;
use PHPUnit\Framework\TestCase;
use YooKassa\Helpers\Random;
use YooKassa\Model\SelfEmployed\SelfEmployedConfirmationFactory;
use YooKassa\Model\SelfEmployed\SelfEmployedConfirmationType;
use YooKassa\Model\SelfEmployed\SelfEmployedStatus;
use YooKassa\Request\SelfEmployed\SelfEmployedResponse;
class SelfEmployedResponseTest extends TestCase
{
/**
* @dataProvider validDataProvider
* @param array $options
*/
public function testGetSetId($options)
{
$instance = new SelfEmployedResponse();
self::assertNull($instance->getId());
self::assertNull($instance->id);
$instance->setId($options['id']);
self::assertEquals($options['id'], $instance->getId());
self::assertEquals($options['id'], $instance->id);
$instance = new SelfEmployedResponse();
$instance->id = $options['id'];
self::assertEquals($options['id'], $instance->getId());
self::assertEquals($options['id'], $instance->id);
}
/**
* @dataProvider invalidDataProvider
* @expectedException \InvalidArgumentException
* @param $value
*/
public function testSetInvalidId($value)
{
$instance = new SelfEmployedResponse();
$instance->setId($value['id']);
}
/**
* @dataProvider invalidDataProvider
* @expectedException \InvalidArgumentException
* @param $value
*/
public function testSetterInvalidId($value)
{
$instance = new SelfEmployedResponse();
$instance->id = $value['id'];
}
/**
* @dataProvider validDataProvider
* @param array $options
*/
public function testGetSetStatus($options)
{
$instance = new SelfEmployedResponse();
self::assertNull($instance->getStatus());
self::assertNull($instance->status);
$instance->setStatus($options['status']);
self::assertEquals($options['status'], $instance->getStatus());
self::assertEquals($options['status'], $instance->status);
$instance = new SelfEmployedResponse();
$instance->status = $options['status'];
self::assertEquals($options['status'], $instance->getStatus());
self::assertEquals($options['status'], $instance->status);
}
/**
* @dataProvider invalidDataProvider
* @expectedException \InvalidArgumentException
* @param $value
*/
public function testSetInvalidStatus($value)
{
$instance = new SelfEmployedResponse();
$instance->setStatus($value['status']);
}
/**
* @dataProvider invalidDataProvider
* @expectedException \InvalidArgumentException
* @param $value
*/
public function testSetterInvalidStatus($value)
{
$instance = new SelfEmployedResponse();
$instance->status = $value['status'];
}
/**
* @dataProvider validDataProvider
* @param array $options
*/
public function testGetSetTest($options)
{
$instance = new SelfEmployedResponse();
self::assertNull($instance->getTest());
self::assertNull($instance->test);
$instance->setTest($options['test']);
self::assertSame($options['test'], $instance->getTest());
self::assertSame($options['test'], $instance->test);
$instance = new SelfEmployedResponse();
$instance->test = $options['test'];
self::assertSame($options['test'], $instance->getTest());
self::assertSame($options['test'], $instance->test);
}
/**
* @dataProvider invalidDataProvider
* @param $value
* @expectedException \InvalidArgumentException
*/
public function testSetInvalidTest($value)
{
$instance = new SelfEmployedResponse();
$instance->setTest($value['test']);
}
/**
* @dataProvider invalidDataProvider
* @param $value
* @expectedException \InvalidArgumentException
*/
public function testSetterInvalidTest($value)
{
$instance = new SelfEmployedResponse();
$instance->test = $value['test'];
}
/**
* @dataProvider validDataProvider
* @param array $options
*/
public function testGetSetPhone($options)
{
$instance = new SelfEmployedResponse();
self::assertNull($instance->getPhone());
self::assertNull($instance->phone);
$instance->setPhone($options['phone']);
self::assertSame($options['phone'], $instance->getPhone());
self::assertSame($options['phone'], $instance->phone);
$instance = new SelfEmployedResponse();
$instance->phone = $options['phone'];
self::assertSame($options['phone'], $instance->getPhone());
self::assertSame($options['phone'], $instance->phone);
}
/**
* @dataProvider invalidDataProvider
* @param $value
* @expectedException \InvalidArgumentException
*/
public function testSetInvalidPhone($value)
{
$instance = new SelfEmployedResponse();
$instance->setPhone($value['phone']);
}
/**
* @dataProvider invalidDataProvider
* @param $value
* @expectedException \InvalidArgumentException
*/
public function testSetterInvalidPhone($value)
{
$instance = new SelfEmployedResponse();
$instance->phone = $value['phone'];
}
/**
* @dataProvider validDataProvider
* @param array $options
*/
public function testGetSetItn($options)
{
$instance = new SelfEmployedResponse();
self::assertNull($instance->getItn());
self::assertNull($instance->itn);
$instance->setItn($options['itn']);
self::assertSame($options['itn'], $instance->getItn());
self::assertSame($options['itn'], $instance->itn);
$instance = new SelfEmployedResponse();
$instance->itn = $options['itn'];
self::assertSame($options['itn'], $instance->getItn());
self::assertSame($options['itn'], $instance->itn);
}
/**
* @dataProvider invalidDataProvider
* @param $value
* @expectedException \InvalidArgumentException
*/
public function testSetInvalidItn($value)
{
$instance = new SelfEmployedResponse();
$instance->setItn($value['itn']);
}
/**
* @dataProvider invalidDataProvider
* @param $value
* @expectedException \InvalidArgumentException
*/
public function testSetterInvalidItn($value)
{
$instance = new SelfEmployedResponse();
$instance->itn = $value['itn'];
}
/**
* @dataProvider validDataProvider
* @param array $options
*/
public function testGetSetCreatedAt($options)
{
$instance = new SelfEmployedResponse();
self::assertNull($instance->getCreatedAt());
self::assertNull($instance->createdAt);
self::assertNull($instance->created_at);
$instance->setCreatedAt($options['created_at']);
self::assertSame($options['created_at'], $instance->getCreatedAt()->format(YOOKASSA_DATE));
self::assertSame($options['created_at'], $instance->createdAt->format(YOOKASSA_DATE));
self::assertSame($options['created_at'], $instance->created_at->format(YOOKASSA_DATE));
$instance = new SelfEmployedResponse();
$instance->createdAt = $options['created_at'];
self::assertSame($options['created_at'], $instance->getCreatedAt()->format(YOOKASSA_DATE));
self::assertSame($options['created_at'], $instance->createdAt->format(YOOKASSA_DATE));
self::assertSame($options['created_at'], $instance->created_at->format(YOOKASSA_DATE));
$instance = new SelfEmployedResponse();
$instance->created_at = $options['created_at'];
self::assertSame($options['created_at'], $instance->getCreatedAt()->format(YOOKASSA_DATE));
self::assertSame($options['created_at'], $instance->createdAt->format(YOOKASSA_DATE));
self::assertSame($options['created_at'], $instance->created_at->format(YOOKASSA_DATE));
}
/**
* @dataProvider invalidDataProvider
* @expectedException \InvalidArgumentException
* @param $value
*/
public function testSetInvalidCreatedAt($value)
{
$instance = new SelfEmployedResponse();
$instance->setCreatedAt($value['created_at']);
}
/**
* @dataProvider invalidDataProvider
* @expectedException \InvalidArgumentException
* @param $value
*/
public function testSetterInvalidCreatedAt($value)
{
$instance = new SelfEmployedResponse();
$instance->createdAt = $value['created_at'];
}
/**
* @dataProvider invalidDataProvider
* @expectedException \InvalidArgumentException
* @param $value
*/
public function testSetterInvalidCreated_at($value)
{
$instance = new SelfEmployedResponse();
$instance->created_at = $value['created_at'];
}
/**
* @dataProvider validDataProvider
* @param array $options
*/
public function testGetSetConfirmation($options)
{
$instance = new SelfEmployedResponse();
self::assertNull($instance->getConfirmation());
self::assertNull($instance->confirmation);
$instance->setConfirmation($options['confirmation']);
if (is_array($options['confirmation'])) {
self::assertSame($options['confirmation'], $instance->getConfirmation()->toArray());
self::assertSame($options['confirmation'], $instance->confirmation->toArray());
} else {
self::assertSame($options['confirmation'], $instance->getConfirmation());
self::assertSame($options['confirmation'], $instance->confirmation);
}
$instance = new SelfEmployedResponse();
$instance->confirmation = $options['confirmation'];
if (is_array($options['confirmation'])) {
self::assertSame($options['confirmation'], $instance->getConfirmation()->toArray());
self::assertSame($options['confirmation'], $instance->confirmation->toArray());
} else {
self::assertSame($options['confirmation'], $instance->getConfirmation());
self::assertSame($options['confirmation'], $instance->confirmation);
}
}
/**
* @dataProvider invalidDataProvider
* @expectedException \InvalidArgumentException
* @param $value
*/
public function testSetterInvalidConfirmation($value)
{
$instance = new SelfEmployedResponse();
$instance->confirmation = $value['confirmation'];
}
public function validDataProvider()
{
$result = array();
$confirmTypes = SelfEmployedConfirmationType::getValidValues();
$confirmFactory = new SelfEmployedConfirmationFactory();
$result[] = array(
array(
'id' => Random::str(36, 50),
'status' => Random::value(SelfEmployedStatus::getValidValues()),
'test' => Random::bool(),
'itn' => null,
'phone' => Random::str(11, 11,'0123456789'),
'created_at' => date(YOOKASSA_DATE, mt_rand(111111111, time())),
'confirmation' => array('type' => Random::value($confirmTypes)),
)
);
$result[] = array(
array(
'id' => Random::str(36, 50),
'status' => Random::value(SelfEmployedStatus::getValidValues()),
'test' => Random::bool(),
'itn' => Random::str(11, 11,'0123456789'),
'phone' => null,
'created_at' => date(YOOKASSA_DATE, mt_rand(1, time())),
'confirmation' => null,
)
);
for ($i = 0; $i < 20; $i++) {
$payment = array(
'id' => Random::str(36, 50),
'status' => Random::value(SelfEmployedStatus::getValidValues()),
'test' => Random::bool(),
'itn' => Random::str(11, 11,'0123456789'),
'phone' => Random::str(11, 11,'0123456789'),
'created_at' => date(YOOKASSA_DATE, mt_rand(1, time())),
'confirmation' => $confirmFactory->factory(Random::value($confirmTypes)),
);
$result[] = array($payment);
}
return $result;
}
public function invalidDataProvider()
{
$result = array(
array(
array(
'id' => null,
'test' => null,
'status' => null,
'itn' => new \stdClass(),
'phone' => array(),
'created_at' => null,
'confirmation' => array('type' => null),
)
),
array(
array(
'id' => '',
'test' => 'null',
'status' => '',
'itn' => array(),
'phone' => new \stdClass(),
'created_at' => array(),
'confirmation' => new \stdClass(),
),
),
);
for ($i = 0; $i < 10; $i++) {
$selfEmployed = array(
'id' => Random::str($i < 5 ? mt_rand(1, 35) : mt_rand(51, 64)),
'test' => $i % 2 ? Random::str(10) : new \stdClass(),
'status' => Random::str(1, 35),
'phone' => $i % 2 ? new \stdClass() : array(),
'itn' => $i % 2 ? new \stdClass() : array(),
'created_at' => $i === 0 ? '23423-234-32' : -Random::int(),
'confirmation' => Random::value(array(
array('type' => null),
array('type' => true),
array('type' => new \stdClass()),
array('type' => array()),
array('type' => 'fake'),
)),
);
$result[] = array($selfEmployed);
}
return $result;
}
}