| Current Path : /var/www/surf/TYPO3/src/surf/Tests/Unit/Domain/Model/ |
| Current File : /var/www/surf/TYPO3/src/surf/Tests/Unit/Domain/Model/VendorTest.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 VendorTest extends UnitTestCase
{
/**
* @var \Torresani\Surf\Domain\Model\Vendor|MockObject|AccessibleObjectInterface
*/
protected $subject;
protected function setUp(): void
{
parent::setUp();
$this->subject = $this->getAccessibleMock(
\Torresani\Surf\Domain\Model\Vendor::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 getUserReturnsInitialValueForInt(): void
{
self::assertSame(
0,
$this->subject->getUser()
);
}
/**
* @test
*/
public function setUserForIntSetsUser(): void
{
$this->subject->setUser(12);
self::assertEquals(12, $this->subject->_get('user'));
}
/**
* @test
*/
public function getStoreReturnsInitialValueForStore(): void
{
$newObjectStorage = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
self::assertEquals(
$newObjectStorage,
$this->subject->getStore()
);
}
/**
* @test
*/
public function setStoreForObjectStorageContainingStoreSetsStore(): void
{
$store = new \Torresani\Surf\Domain\Model\Store();
$objectStorageHoldingExactlyOneStore = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
$objectStorageHoldingExactlyOneStore->attach($store);
$this->subject->setStore($objectStorageHoldingExactlyOneStore);
self::assertEquals($objectStorageHoldingExactlyOneStore, $this->subject->_get('store'));
}
/**
* @test
*/
public function addStoreToObjectStorageHoldingStore(): void
{
$store = new \Torresani\Surf\Domain\Model\Store();
$storeObjectStorageMock = $this->getMockBuilder(\TYPO3\CMS\Extbase\Persistence\ObjectStorage::class)
->onlyMethods(['attach'])
->disableOriginalConstructor()
->getMock();
$storeObjectStorageMock->expects(self::once())->method('attach')->with(self::equalTo($store));
$this->subject->_set('store', $storeObjectStorageMock);
$this->subject->addStore($store);
}
/**
* @test
*/
public function removeStoreFromObjectStorageHoldingStore(): void
{
$store = new \Torresani\Surf\Domain\Model\Store();
$storeObjectStorageMock = $this->getMockBuilder(\TYPO3\CMS\Extbase\Persistence\ObjectStorage::class)
->onlyMethods(['detach'])
->disableOriginalConstructor()
->getMock();
$storeObjectStorageMock->expects(self::once())->method('detach')->with(self::equalTo($store));
$this->subject->_set('store', $storeObjectStorageMock);
$this->subject->removeStore($store);
}
}