Spaces:
No application file
No application file
| namespace MauticPlugin\MauticFocusBundle\Tests\Helper; | |
| use MauticPlugin\MauticFocusBundle\Helper\IframeAvailabilityChecker; | |
| use PHPUnit\Framework\MockObject\MockObject; | |
| use Symfony\Component\HttpFoundation\JsonResponse; | |
| use Symfony\Contracts\Translation\TranslatorInterface; | |
| class IframeAvailabilityCheckerTest extends \PHPUnit\Framework\TestCase | |
| { | |
| private MockObject $translator; | |
| /** | |
| * @var IframeAvailabilityChecker|MockObject | |
| */ | |
| private IframeAvailabilityChecker $helper; | |
| public function setUp(): void | |
| { | |
| $this->translator = $this->createMock(TranslatorInterface::class); | |
| $this->helper = new IframeAvailabilityChecker($this->translator); | |
| } | |
| public function testCheckProtocolMismatch(): void | |
| { | |
| $currentScheme = 'https'; | |
| $url = 'http://google.com'; | |
| $translatedErrorMessage = 'error'; | |
| $expectedResponseContent = [ | |
| 'status' => 0, | |
| 'errorMessage' => $translatedErrorMessage, | |
| ]; | |
| $this->translator->expects($this->once()) | |
| ->method('trans') | |
| ->with( | |
| 'mautic.focus.protocol.mismatch', | |
| [ | |
| '%url%' => str_replace('http://', 'https://', $url), | |
| ] | |
| ) | |
| ->willReturn($translatedErrorMessage); | |
| /** @var JsonResponse $response */ | |
| $response = $this->helper->check($url, $currentScheme); | |
| $responseBody = json_decode($response->getContent(), true); | |
| $this->assertEquals($expectedResponseContent, $responseBody); | |
| } | |
| } | |