From f3d1468185eeeb01e8c01a13155f59296f4ccf4d Mon Sep 17 00:00:00 2001 From: Stefan Giehl Date: Mon, 27 Apr 2020 08:43:08 +0200 Subject: Moves some MobileMessaging API methods to a new model (#15842) * make MobileMessaging.sanitizePhoneNumber private * moves some methods to new model * submodule update --- .../tests/Integration/MobileMessagingTest.php | 43 +++++++--------------- 1 file changed, 13 insertions(+), 30 deletions(-) (limited to 'plugins/MobileMessaging/tests') diff --git a/plugins/MobileMessaging/tests/Integration/MobileMessagingTest.php b/plugins/MobileMessaging/tests/Integration/MobileMessagingTest.php index f390541104..9c29ebe7d2 100644 --- a/plugins/MobileMessaging/tests/Integration/MobileMessagingTest.php +++ b/plugins/MobileMessaging/tests/Integration/MobileMessagingTest.php @@ -8,8 +8,10 @@ namespace Piwik\Plugins\MobileMessaging\tests\Integration; +use Piwik\Piwik; use Piwik\Plugins\MobileMessaging\API as APIMobileMessaging; use Piwik\Plugins\MobileMessaging\MobileMessaging; +use Piwik\Plugins\MobileMessaging\Model; use Piwik\Plugins\MobileMessaging\SMSProvider; use Piwik\Plugins\ScheduledReports\API as APIScheduledReports; use Piwik\Plugins\SitesManager\API as APISitesManager; @@ -40,8 +42,6 @@ class MobileMessagingTest extends IntegrationTestCase /** * When the MultiSites plugin is not activated, the SMS content should invite the user to activate it back - * - * @group Plugins */ public function testWarnUserViaSMSMultiSitesDeactivated() { @@ -157,8 +157,6 @@ class MobileMessagingTest extends IntegrationTestCase } /** - * @group Plugins - * * @dataProvider getTruncateTestCases */ public function testTruncate($expected, $stringToTruncate, $maximumNumberOfConcatenatedSMS, $appendedString) @@ -183,8 +181,6 @@ class MobileMessagingTest extends IntegrationTestCase } /** - * @group Plugins - * * @dataProvider getContainsUCS2CharactersTestCases */ public function testContainsUCS2Characters($expected, $stringToTest) @@ -195,23 +191,13 @@ class MobileMessagingTest extends IntegrationTestCase ); } - /** - * @group Plugins - */ - public function testSanitizePhoneNumber() - { - $this->assertEquals('676932647', APIMobileMessaging::sanitizePhoneNumber(' 6 76 93 26 47')); - } - - /** - * @group Plugins - */ public function testPhoneNumberIsSanitized() { $mobileMessagingAPI = APIMobileMessaging::getInstance(); + $model = new Model(); $mobileMessagingAPI->setSMSAPICredential('StubbedProvider', ''); $mobileMessagingAPI->addPhoneNumber(' 6 76 93 26 47'); - $this->assertEquals('676932647', key($mobileMessagingAPI->getPhoneNumbers())); + $this->assertEquals('676932647', key($model->getPhoneNumbers(Piwik::getCurrentUserLogin()))); } /** @@ -226,8 +212,6 @@ class MobileMessagingTest extends IntegrationTestCase } /** - * @group Plugins - * * @dataProvider getSendReportTestCases */ public function testSendReport($expectedReportContent, $expectedPhoneNumber, $expectedFrom, $reportContent, $phoneNumber, $reportSubject) @@ -236,22 +220,21 @@ class MobileMessagingTest extends IntegrationTestCase 'parameters' => array(MobileMessaging::PHONE_NUMBERS_PARAMETER => array($phoneNumber)), ); - $stubbedAPIMobileMessaging = $this->getMockBuilder('\\Piwik\\Plugins\\MobileMessaging\\API') - ->setMethods(array('sendSMS', 'getInstance')) - ->disableOriginalConstructor() - ->getMock(); - $stubbedAPIMobileMessaging->expects($this->once())->method('sendSMS')->with( + $stubbedModel = $this->getMockBuilder(Model::class) + ->onlyMethods(array('sendSMS')) + ->getMock(); + $stubbedModel->expects($this->once())->method('sendSMS')->with( $this->equalTo($expectedReportContent, 0), $this->equalTo($expectedPhoneNumber, 1), $this->equalTo($expectedFrom, 2) ); - \Piwik\Plugins\MobileMessaging\API::setSingletonInstance($stubbedAPIMobileMessaging); - - $mobileMessaging = new MobileMessaging(); - $mobileMessaging->sendReport(MobileMessaging::MOBILE_TYPE, $report, $reportContent, null, null, $reportSubject, null, null, null, false); + $stubbedMobileMessaging = $this->getMockBuilder(MobileMessaging::class) + ->onlyMethods(['getModel']) + ->getMock(); - \Piwik\Plugins\MobileMessaging\API::unsetInstance(); + $stubbedMobileMessaging->expects($this->once())->method('getModel')->will($this->returnValue($stubbedModel)); + $stubbedMobileMessaging->sendReport(MobileMessaging::MOBILE_TYPE, $report, $reportContent, null, null, $reportSubject, null, null, null, false); } public function provideContainerConfig() -- cgit v1.2.3