Испарвлен тест на длину имени предмета расчёта

This commit is contained in:
Anthony Axenov 2020-05-29 22:15:47 +08:00
parent 4d7e5dd76e
commit 9d7dd75cd9

View File

@ -22,6 +22,22 @@ use AtolOnline\{Constants\PaymentMethods,
*/ */
class ItemTest extends BasicTestCase class ItemTest extends BasicTestCase
{ {
/**
* Возвращает случайную строку указанной длины
*
* @param int $length
* @return string
*/
private static function randomString($length = 8)
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$string = '';
for ($i = 0; $i < $length; $i++) {
$string .= $characters[mt_rand(0, strlen($characters) - 1)];
}
return $string;
}
/** /**
* Тестирует установку параметров через конструктор * Тестирует установку параметров через конструктор
* *
@ -85,10 +101,7 @@ class ItemTest extends BasicTestCase
/** /**
* Тестирует установку ставки НДС разными путями * Тестирует установку ставки НДС разными путями
* *
* @throws AtolOnline\Exceptions\AtolNameTooLongException * @throws \AtolOnline\Exceptions\AtolPriceTooHighException
* @throws AtolOnline\Exceptions\AtolPriceTooHighException
* @throws AtolOnline\Exceptions\AtolTooManyException
* @throws AtolOnline\Exceptions\AtolUnitTooLongException
*/ */
public function testSetVat() public function testSetVat()
{ {
@ -102,25 +115,21 @@ class ItemTest extends BasicTestCase
/** /**
* Тестирует исключение о слишком длинном наименовании * Тестирует исключение о слишком длинном наименовании
* *
* @throws AtolOnline\Exceptions\AtolNameTooLongException * @throws \AtolOnline\Exceptions\AtolNameTooLongException
* @throws AtolOnline\Exceptions\AtolPriceTooHighException
* @throws AtolOnline\Exceptions\AtolTooManyException
* @throws AtolOnline\Exceptions\AtolUnitTooLongException
*/ */
public function testAtolNameTooLongException() public function testAtolNameTooLongException()
{ {
$item = new Item(); $item = new Item();
$this->expectException(AtolNameTooLongException::class); $this->expectException(AtolNameTooLongException::class);
$item->setName('Банан Банан Банан Банан Банан Банан Банан Банан Банан Банан Банан Банан'); $item->setName(self::randomString(130));
} }
/** /**
* Тестирует исключение о слишком высоком количестве * Тестирует исключение о слишком высоком количестве
* *
* @throws AtolOnline\Exceptions\AtolNameTooLongException * @throws \AtolOnline\Exceptions\AtolPriceTooHighException
* @throws AtolOnline\Exceptions\AtolTooManyException * @throws \AtolOnline\Exceptions\AtolTooManyException
* @throws AtolOnline\Exceptions\AtolPriceTooHighException * @throws \AtolOnline\Exceptions\AtolUnitTooLongException
* @throws AtolOnline\Exceptions\AtolUnitTooLongException
*/ */
public function testAtolQuantityTooHighException() public function testAtolQuantityTooHighException()
{ {
@ -132,10 +141,7 @@ class ItemTest extends BasicTestCase
/** /**
* Тестирует исключение о слишком высокой цене * Тестирует исключение о слишком высокой цене
* *
* @throws AtolOnline\Exceptions\AtolPriceTooHighException * @throws \AtolOnline\Exceptions\AtolPriceTooHighException
* @throws AtolOnline\Exceptions\AtolNameTooLongException
* @throws AtolOnline\Exceptions\AtolTooManyException
* @throws AtolOnline\Exceptions\AtolUnitTooLongException
*/ */
public function testAtolPriceTooHighException() public function testAtolPriceTooHighException()
{ {
@ -147,11 +153,7 @@ class ItemTest extends BasicTestCase
/** /**
* Тестирует исключение о слишком длинных польз. данных * Тестирует исключение о слишком длинных польз. данных
* *
* @throws AtolOnline\Exceptions\AtolUserdataTooLongException * @throws \AtolOnline\Exceptions\AtolUserdataTooLongException
* @throws AtolOnline\Exceptions\AtolPriceTooHighException
* @throws AtolOnline\Exceptions\AtolNameTooLongException
* @throws AtolOnline\Exceptions\AtolTooManyException
* @throws AtolOnline\Exceptions\AtolUnitTooLongException
*/ */
public function testAtolUserdataTooLongException() public function testAtolUserdataTooLongException()
{ {
@ -163,10 +165,7 @@ class ItemTest extends BasicTestCase
/** /**
* Тестирует исключение о слишком длинной единице измерения * Тестирует исключение о слишком длинной единице измерения
* *
* @throws AtolOnline\Exceptions\AtolNameTooLongException * @throws \AtolOnline\Exceptions\AtolUnitTooLongException
* @throws AtolOnline\Exceptions\AtolPriceTooHighException
* @throws AtolOnline\Exceptions\AtolTooManyException
* @throws AtolOnline\Exceptions\AtolUnitTooLongException
*/ */
public function testAtolUnitTooLongException() public function testAtolUnitTooLongException()
{ {