Skip to content

Commit

Permalink
test: adicionado testes unitario
Browse files Browse the repository at this point in the history
  • Loading branch information
gihovani committed May 29, 2021
1 parent 0426723 commit e19fdea
Show file tree
Hide file tree
Showing 11 changed files with 522 additions and 5 deletions.
6 changes: 3 additions & 3 deletions Helper/Data.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ class Data extends AbstractHelper
const XML_PATH_HEADING = 'gg2_toast/%s/heading';

/**
* @return int
* @return bool
*/
public function isActive(): int
public function isActive(): bool
{
return (int)$this->getConfig('general', self::XML_PATH_ACTIVE);
return (bool)$this->getConfig('general', self::XML_PATH_ACTIVE);
}

/**
Expand Down
77 changes: 77 additions & 0 deletions Test/Unit/Block/Adminhtml/System/Config/ColorPickerTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?php

namespace Gg2\ToastMessage\Test\Unit\Block\Adminhtml\System\Config;

use Gg2\ToastMessage\Block\Adminhtml\System\Config\ColorPicker;
use Magento\Config\Block\System\Config\Form\Field;
use Magento\Framework\Data\Form\Element\AbstractElement;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;

class ColorPickerTest extends TestCase
{
/**
* object
*
* @var ColorPicker
*/
private $object;

/**
* @var AbstractElement|MockObject
*/
private $elementMock;


/**
* setUp
*
* @return void
*/
public function setUp(): void
{
$this->elementMock = $this->getMockBuilder(AbstractElement::class)
->disableOriginalConstructor()
->setMethods([
'generateElementId',
'getHtmlId',
'getName',
'getEscapedValue',
'serialize',
'_escape',
'_getUiId'
])
->getMock();
$objectManager = new ObjectManager($this);
$this->object = $objectManager->getObject(ColorPicker::class);
}

/**
* testIsInstanceOfField
*
* @return void
*/
public function testIsInstanceOfField(): void
{
$this->assertInstanceOf(Field::class, $this->object);
}

/**
* testGetConfig
*
* @return void
*/
public function testRender()
{
$htmlId = 'test-color-picker';
$this->elementMock
->expects($this->any())
->method('getHtmlId')
->willReturn($htmlId);

$expected = 'let $el = $("#' . $htmlId . '");';
$render = $this->object->render($this->elementMock);
$this->assertTrue(strpos($render, $expected) !== false);
}
}
83 changes: 83 additions & 0 deletions Test/Unit/Block/MessageTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<?php

namespace Gg2\ToastMessage\Test\Unit\Block;

use Gg2\ToastMessage\Block\Message;
use Gg2\ToastMessage\Helper\Data;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
use Magento\Framework\View\Element\Messages;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;

class MessageTest extends TestCase
{
/**
* object
*
* @var Message
*/
private $object;

/**
* @var Data|MockObject
*/
protected $helper;


/**
* setUp
*
* @return void
*/
public function setUp(): void
{
$this->helper = $this->getMockBuilder(Data::class)
->setMethods(['isActive', 'getConfig'])
->disableOriginalConstructor()
->getMockForAbstractClass();

$objectManager = new ObjectManager($this);
$this->object = $objectManager->getObject(
Message::class,
[
'messageHelper' => $this->helper
]
);
}

/**
* testIsInstanceOfMessages
*
* @return void
*/
public function testIsInstanceOfMessages(): void
{
$this->assertInstanceOf(Messages::class, $this->object);
}

/**
* testGetSettings
*
* @return void
*/
public function testGetSettingsInactive(): void
{
$this->helper->expects($this->once())
->method('isActive')
->willReturn(false);
$this->assertEmpty($this->object->getSettings());
}

/**
* testGetSettings
*
* @return void
*/
public function testGetSettingsActive(): void
{
$this->helper->expects($this->once())
->method('isActive')
->willReturn(true);
$this->assertArrayHasKey('removeCookieAfter', $this->object->getSettings());
}
}
83 changes: 83 additions & 0 deletions Test/Unit/Helper/DataTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<?php

namespace Gg2\ToastMessage\Test\Unit\Helper;

use Gg2\ToastMessage\Helper\Data;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;

class DataTest extends TestCase
{

/**
* object
*
* @var Data
*/
private $object;

/**
* @var ScopeConfigInterface|MockObject
*/
private $scopeConfig;

/**
* setUp
*
* @return void
*/
public function setUp(): void
{
$this->scopeConfig = $this->getMockBuilder(ScopeConfigInterface::class)
->setMethods(['getValue'])
->disableOriginalConstructor()
->getMockForAbstractClass();

$objectManager = new ObjectManager($this);
$this->object = $objectManager->getObject(
Data::class,
[
'scopeConfig' => $this->scopeConfig
]
);
}

/**
* testIsInstanceOfMessages
*
* @return void
*/
public function testIsInstanceOfMessages(): void
{
$this->assertInstanceOf(Data::class, $this->object);
}

/**
* testIsInActive
*
* @return void
*/
public function testIsInActive(): void
{
$this->scopeConfig->expects($this->once())
->method('getValue')
->willReturn(false);

$this->assertEquals(false, $this->object->isActive());
}

/**
* testGetSettings
*
* @return void
*/
public function testGetSettings(): void
{
$this->scopeConfig->expects($this->any())
->method('getValue')
->willReturn(true);
$this->assertArrayHasKey('removeCookieAfter', $this->object->getSettings());
}
}
50 changes: 50 additions & 0 deletions Test/Unit/Model/AdditionalConfigProviderTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?php

namespace Gg2\ToastMessage\Test\Unit\Model;

use Gg2\ToastMessage\Model\AdditionalConfigProvider;
use Magento\Checkout\Model\ConfigProviderInterface;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
use PHPUnit\Framework\TestCase;

class AdditionalConfigProviderTest extends TestCase
{

/**
* object
*
* @var AdditionalConfigProvider
*/
private $object;

/**
* setUp
*
* @return void
*/
public function setUp(): void
{
$objectManager = new ObjectManager($this);
$this->object = $objectManager->getObject(AdditionalConfigProvider::class);
}

/**
* testIsInstanceOfConfigProviderInterface
*
* @return void
*/
public function testIsInstanceOfConfigProviderInterface(): void
{
$this->assertInstanceOf(ConfigProviderInterface::class, $this->object);
}

/**
* testGetConfig
*
* @return void
*/
public function testGetConfig(): void
{
$this->assertArrayHasKey('toastMessageSettings', $this->object->getConfig());
}
}
56 changes: 56 additions & 0 deletions Test/Unit/Model/Config/Source/IconTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?php

namespace Gg2\ToastMessage\Test\Unit\Model\Config\Source;

use Gg2\ToastMessage\Model\Config\Source\Icon;
use Magento\Framework\Data\OptionSourceInterface;
use Magento\Framework\DataObject;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
use PHPUnit\Framework\TestCase;

class IconTest extends TestCase
{

/**
* object
*
* @var Icon
*/
private $object;

/**
* setUp
*
* @return void
*/
public function setUp(): void
{
$objectManager = new ObjectManager($this);
$this->object = $objectManager->getObject(Icon::class);
}

/**
* testIsInstanceOfDataObjectAndOptionSourceInterface
*
* @return void
*/
public function testIsInstanceOfDataObjectAndOptionSourceInterface(): void
{
$this->assertInstanceOf(DataObject::class, $this->object);
$this->assertInstanceOf(OptionSourceInterface::class, $this->object);
}

/**
* testGetConfig
*
* @return void
*/
public function testToOptionArray(): void
{
foreach ($this->object->toOptionArray() as $item) {
$this->assertArrayHasKey('value', $item);
$this->assertArrayHasKey('label', $item);
}
}

}
Loading

0 comments on commit e19fdea

Please sign in to comment.