1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-25 00:17:37 +00:00
Files
Stefan Giehl 75290a04f4 Use https URLs (#23072)
* Use https URLs

* Build vue files

* use matomo.org instead of piwik.org in some links

* updates expected UI test file

---------

Co-authored-by: innocraft-automation <innocraft-automation@users.noreply.github.com>
2025-02-27 16:34:08 +01:00

80 خطوط
2.2 KiB
PHP

<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Plugins\Marketplace\tests\Integration\PluginTrial;
use Piwik\Mail;
use Piwik\Piwik;
use Piwik\Plugins\Marketplace\Emails\RequestTrialNotificationEmail;
use Piwik\Plugins\Marketplace\PluginTrial\Request;
use Piwik\Plugins\Marketplace\PluginTrial\Storage;
use Piwik\Tests\Framework\Fixture;
use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
/**
* @group Marketplace
* @group PluginTrial
* @group Plugins
*/
class RequestTest extends IntegrationTestCase
{
public function setUp(): void
{
parent::setUp();
}
public function testConstructorThrowsOnInvalidPluginName()
{
self::expectException(\Exception::class);
$storageMock = self::createMock(Storage::class);
$notification = new Request('Inval%dPlu§1nName', $storageMock);
}
public function testCreateAlreadyRequested()
{
$storageMock = self::createMock(Storage::class);
$storageMock->method('wasRequested')->willReturn(true);
$storageMock->expects(self::never())->method('setRequested');
$request = new Request('PremiumPlugin', $storageMock);
$request->create();
}
public function testCancel()
{
$storageMock = self::createMock(Storage::class);
$storageMock->method('wasRequested')->willReturn(true);
$storageMock->expects(self::once())->method('clearStorage');
$request = new Request('PremiumPlugin', $storageMock);
$request->cancel();
}
public function testCreateSucceedsAndSendsMail()
{
Fixture::createSuperUser();
Piwik::addAction('Mail.send', function (Mail $mail) use (&$sentMail) {
$sentMail = $mail;
});
$storageMock = self::createMock(Storage::class);
$storageMock->method('wasRequested')->willReturn(false);
$storageMock->expects(self::once())->method('setRequested');
$request = new Request('PremiumPlugin', $storageMock);
$request->create();
self::assertNotNull($sentMail);
self::assertInstanceOf(RequestTrialNotificationEmail::class, $sentMail);
}
}