init
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Esun\MultiLocaleTranslation\Test\Unit\Plugin\Adminhtml;
|
||||
|
||||
use Esun\MultiLocaleTranslation\Plugin\Adminhtml\BlogPostEditButton;
|
||||
use Magento\Framework\App\RequestInterface;
|
||||
use Magento\Framework\AuthorizationInterface;
|
||||
use Magento\Framework\Registry;
|
||||
use Mageplaza\Blog\Block\Adminhtml\Post\Edit;
|
||||
use Mageplaza\Blog\Model\Post;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class BlogPostEditButtonTest extends TestCase
|
||||
{
|
||||
public function testAddsTranslateButtonThroughContainerApi(): void
|
||||
{
|
||||
$post = $this->createMock(Post::class);
|
||||
$post->method('getId')->willReturn(1);
|
||||
$registry = $this->createMock(Registry::class);
|
||||
$registry->method('registry')->with('mageplaza_blog_post')->willReturn($post);
|
||||
$authorization = $this->createMock(AuthorizationInterface::class);
|
||||
$authorization->method('isAllowed')->with(
|
||||
'Esun_MultiLocaleTranslation::translate_blog'
|
||||
)->willReturn(true);
|
||||
$request = $this->createMock(RequestInterface::class);
|
||||
$request->method('getParam')->with('store')->willReturn(16);
|
||||
$subject = $this->createMock(Edit::class);
|
||||
$subject->method('getRequest')->willReturn($request);
|
||||
$subject->method('getUrl')->willReturnCallback(
|
||||
static fn (string $route): string => '/' . $route
|
||||
);
|
||||
$subject->expects(self::once())->method('addButton')->with(
|
||||
'localetranslate_translate',
|
||||
self::callback(
|
||||
static fn (array $data): bool => (string)$data['label'] === 'Translate'
|
||||
&& str_contains($data['onclick'], '"entityType":"blog_post"')
|
||||
&& str_contains($data['onclick'], '"sourceStoreId":16')
|
||||
),
|
||||
0,
|
||||
30
|
||||
);
|
||||
|
||||
$plugin = new BlogPostEditButton($registry, $authorization);
|
||||
|
||||
self::assertSame([], $plugin->beforeToHtml($subject));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user