Skip to content

Commit

Permalink
[EPC-9489] Write unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Can Demiralp committed Jan 31, 2025
1 parent 7740e8f commit 8b9a8a4
Showing 1 changed file with 65 additions and 38 deletions.
103 changes: 65 additions & 38 deletions Test/Unit/Setup/Patch/Data/CreateStatusAuthorizedTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,72 +17,99 @@
use Magento\Framework\App\Config\ReinitableConfigInterface;
use Magento\Framework\App\Config\Storage\WriterInterface;
use Magento\Framework\DB\Adapter\AdapterInterface;
use Magento\Framework\Exception\AlreadyExistsException;
use Magento\Framework\Setup\ModuleDataSetupInterface;
use Magento\Sales\Model\Order\Status;
use Magento\Sales\Model\Order\StatusFactory;
use Magento\Sales\Model\ResourceModel\Order\Status as StatusResource;
use Magento\Sales\Model\ResourceModel\Order\StatusFactory as StatusResourceFactory;
use PHPUnit\Framework\MockObject\MockObject;

class CreateStatusAuthorizedTest extends AbstractAdyenTestCase
{
protected CreateStatusAuthorized $createStatusAuthorized;
protected ModuleDataSetupInterface|MockObject $moduleDataSetupMock;
protected WriterInterface|MockObject $configWriteMock;
protected ReinitableConfigInterface|MockObject $reinitableConfigMock;
protected DataPatch|MockObject $dataPatchHelperMock;
protected StatusFactory|MockObject $statusFactoryMock;
protected StatusResourceFactory|MockObject $statusResourceFactoryMock;
protected StatusResource|MockObject $statusResourceMock;

/**
* @return void
*/
protected function setUp():void
{
$this->moduleDataSetupMock = $this->createConfiguredMock(ModuleDataSetupInterface::class, [
'getConnection' => $this->createMock(AdapterInterface::class)
]);
$this->configWriteMock = $this->createMock(WriterInterface::class);
$this->reinitableConfigMock = $this->createMock(ReinitableConfigInterface::class);
$this->dataPatchHelperMock = $this->createConfiguredMock(DataPatch::class, [
'findConfig' => null
]);
$this->statusResourceMock = $this->createMock(StatusResource::class);
$this->statusFactoryMock = $this->createGeneratedMock(StatusFactory::class, ['create']);
$this->statusFactoryMock->method('create')->willReturn(
$this->createMock(Status::class)
);
$this->statusResourceFactoryMock = $this->createGeneratedMock(StatusResourceFactory::class, [
'create'
]);
$this->statusResourceFactoryMock->method('create')->willReturn($this->statusResourceMock);

$this->createStatusAuthorized = new CreateStatusAuthorized(
$this->moduleDataSetupMock,
$this->configWriteMock,
$this->reinitableConfigMock,
$this->dataPatchHelperMock,
$this->statusFactoryMock,
$this->statusResourceFactoryMock
);
}

public function testApply()
{
$createStatusAuthorized = $this->getCreateStatusAuthorized();
$createStatusAuthorized->apply();
$this->statusResourceMock->expects($this->once())
->method('save');

$this->assertTrue(true);
$result = $this->createStatusAuthorized->apply();

$this->assertInstanceOf(CreateStatusAuthorized::class, $result);
}

public function testApplyFail()
{
$this->statusResourceMock->expects($this->once())
->method('save')
->willThrowException(new AlreadyExistsException());

$this->dataPatchHelperMock->expects($this->never())->method('findConfig');

$result = $this->createStatusAuthorized->apply();

$this->assertInstanceOf(CreateStatusAuthorized::class, $result);
}

public function testGetAliases()
{
$createStatusAuthorized = $this->getCreateStatusAuthorized();
$aliases = $createStatusAuthorized->getAliases();
$aliases = $this->createStatusAuthorized->getAliases();

$this->assertSame([], $aliases);
}

public function testGetDependencies()
{
$createStatusAuthorized = $this->getCreateStatusAuthorized();
$dependencies = $createStatusAuthorized::getDependencies();
$dependencies = $this->createStatusAuthorized::getDependencies();

$this->assertSame([], $dependencies);
}

public function getVersion()
{
$createStatusAuthorized = $this->getCreateStatusAuthorized();
$version = $createStatusAuthorized::getVersion();
$version = $this->createStatusAuthorized::getVersion();

$this->assertNotEmpty($version);
}

/**
* @return CreateStatusAuthorized
*/
public function getCreateStatusAuthorized(): CreateStatusAuthorized
{
$moduleDataSetupMock = $this->createConfiguredMock(ModuleDataSetupInterface::class, [
'getConnection' => $this->createMock(AdapterInterface::class)
]);
$configWriteMock = $this->createMock(WriterInterface::class);
$reinitableConfigMock = $this->createMock(ReinitableConfigInterface::class);
$dataPatchHelperMock = $this->createConfiguredMock(DataPatch::class, [
'findConfig' => null
]);
$statusFactoryMock = $this->createGeneratedMock(StatusFactory::class, ['create']);
$statusFactoryMock->method('create')->willReturn($this->createMock(Status::class));
$statusResourceFactoryMock = $this->createGeneratedMock(StatusResourceFactory::class, ['create']);
$statusResourceFactoryMock->method('create')
->willReturn($this->createMock(StatusResource::class));

return new CreateStatusAuthorized(
$moduleDataSetupMock,
$configWriteMock,
$reinitableConfigMock,
$dataPatchHelperMock,
$statusFactoryMock,
$statusResourceFactoryMock
);
}
}

0 comments on commit 8b9a8a4

Please sign in to comment.