| Current Path : /proc/thread-self/root/var/www/surf/TYPO3/src/surf/Tests/Unit/Domain/Model/ |
| Current File : //proc/thread-self/root/var/www/surf/TYPO3/src/surf/Tests/Unit/Domain/Model/OrderTest.php |
<?php
declare(strict_types=1);
namespace Torresani\Surf\Tests\Unit\Domain\Model;
use PHPUnit\Framework\MockObject\MockObject;
use TYPO3\TestingFramework\Core\AccessibleObjectInterface;
use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
/**
* Test case
*
* @author Roberto Torresani <roberto@torresani.eu>
*/
class OrderTest extends UnitTestCase
{
/**
* @var \Torresani\Surf\Domain\Model\Order|MockObject|AccessibleObjectInterface
*/
protected $subject;
protected function setUp(): void
{
parent::setUp();
$this->subject = $this->getAccessibleMock(
\Torresani\Surf\Domain\Model\Order::class,
['dummy']
);
}
protected function tearDown(): void
{
parent::tearDown();
}
/**
* @test
*/
public function getCodeReturnsInitialValueForString(): void
{
self::assertSame(
'',
$this->subject->getCode()
);
}
/**
* @test
*/
public function setCodeForStringSetsCode(): void
{
$this->subject->setCode('Conceived at T3CON10');
self::assertEquals('Conceived at T3CON10', $this->subject->_get('code'));
}
/**
* @test
*/
public function getNameReturnsInitialValueForString(): void
{
self::assertSame(
'',
$this->subject->getName()
);
}
/**
* @test
*/
public function setNameForStringSetsName(): void
{
$this->subject->setName('Conceived at T3CON10');
self::assertEquals('Conceived at T3CON10', $this->subject->_get('name'));
}
/**
* @test
*/
public function getStatusReturnsInitialValueForInt(): void
{
self::assertSame(
0,
$this->subject->getStatus()
);
}
/**
* @test
*/
public function setStatusForIntSetsStatus(): void
{
$this->subject->setStatus(12);
self::assertEquals(12, $this->subject->_get('status'));
}
/**
* @test
*/
public function getDeliveryReturnsInitialValueForDelivery(): void
{
self::assertEquals(
null,
$this->subject->getDelivery()
);
}
/**
* @test
*/
public function setDeliveryForDeliverySetsDelivery(): void
{
$deliveryFixture = new \Torresani\Surf\Domain\Model\Delivery();
$this->subject->setDelivery($deliveryFixture);
self::assertEquals($deliveryFixture, $this->subject->_get('delivery'));
}
/**
* @test
*/
public function getOrderitemReturnsInitialValueForOrderItem(): void
{
$newObjectStorage = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
self::assertEquals(
$newObjectStorage,
$this->subject->getOrderitem()
);
}
/**
* @test
*/
public function setOrderitemForObjectStorageContainingOrderItemSetsOrderitem(): void
{
$orderitem = new \Torresani\Surf\Domain\Model\OrderItem();
$objectStorageHoldingExactlyOneOrderitem = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
$objectStorageHoldingExactlyOneOrderitem->attach($orderitem);
$this->subject->setOrderitem($objectStorageHoldingExactlyOneOrderitem);
self::assertEquals($objectStorageHoldingExactlyOneOrderitem, $this->subject->_get('orderitem'));
}
/**
* @test
*/
public function addOrderitemToObjectStorageHoldingOrderitem(): void
{
$orderitem = new \Torresani\Surf\Domain\Model\OrderItem();
$orderitemObjectStorageMock = $this->getMockBuilder(\TYPO3\CMS\Extbase\Persistence\ObjectStorage::class)
->onlyMethods(['attach'])
->disableOriginalConstructor()
->getMock();
$orderitemObjectStorageMock->expects(self::once())->method('attach')->with(self::equalTo($orderitem));
$this->subject->_set('orderitem', $orderitemObjectStorageMock);
$this->subject->addOrderitem($orderitem);
}
/**
* @test
*/
public function removeOrderitemFromObjectStorageHoldingOrderitem(): void
{
$orderitem = new \Torresani\Surf\Domain\Model\OrderItem();
$orderitemObjectStorageMock = $this->getMockBuilder(\TYPO3\CMS\Extbase\Persistence\ObjectStorage::class)
->onlyMethods(['detach'])
->disableOriginalConstructor()
->getMock();
$orderitemObjectStorageMock->expects(self::once())->method('detach')->with(self::equalTo($orderitem));
$this->subject->_set('orderitem', $orderitemObjectStorageMock);
$this->subject->removeOrderitem($orderitem);
}
}