From e2a02e8d4de61022f9d75d10fdabaec23ed15d53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Moumn=C3=A9?= Date: Tue, 23 Apr 2013 09:12:44 +0200 Subject: fix #3896 --- tests/PHPUnit/Plugins/MobileMessagingTest.php | 49 +++++++++++++++++++++++++++ tests/PHPUnit/Plugins/PDFReportsTest.php | 29 ++++++++++++++++ 2 files changed, 78 insertions(+) (limited to 'tests') diff --git a/tests/PHPUnit/Plugins/MobileMessagingTest.php b/tests/PHPUnit/Plugins/MobileMessagingTest.php index 94796c5da3..04689274c0 100644 --- a/tests/PHPUnit/Plugins/MobileMessagingTest.php +++ b/tests/PHPUnit/Plugins/MobileMessagingTest.php @@ -211,4 +211,53 @@ class MobileMessagingTest extends DatabaseTestCase $mobileMessagingAPI->addPhoneNumber(' 6 76 93 26 47'); $this->assertEquals('676932647', key($mobileMessagingAPI->getPhoneNumbers())); } + + /** + * Dataprovider for testSendReport + */ + public function getSendReportTestCases() + { + return array( + array('reportContent', '0101010101', 'Piwik.org', 'reportContent', '0101010101', 'Piwik.org'), + array('reportContent', '0101010101', 'General_Reports', 'reportContent', '0101010101', 'General_MultiSitesSummary'), + ); + } + + /** + * @group Plugins + * @group MobileMessaging + * @dataProvider getSendReportTestCases + */ + public function testSendReport($expectedReportContent, $expectedPhoneNumber, $expectedFrom, $reportContent, $phoneNumber, $reportSubject) + { + $eventNotification = new Piwik_Event_Notification( + $this, + null, + array( + Piwik_PDFReports_API::REPORT_CONTENT_KEY => $reportContent, + Piwik_PDFReports_API::REPORT_SUBJECT_KEY => $reportSubject, + Piwik_PDFReports_API::REPORT_TYPE_INFO_KEY => Piwik_MobileMessaging::MOBILE_TYPE, + Piwik_PDFReports_API::REPORT_KEY => array( + 'parameters' => array(Piwik_MobileMessaging::PHONE_NUMBERS_PARAMETER => array($phoneNumber)), + ), + ) + ); + + $stubbedMobileMessagingAPI = $this->getMock('Piwik_MobileMessaging_API'); + $stubbedMobileMessagingAPI->expects($this->once())->method('sendSMS')->with( + $this->equalTo($expectedReportContent, 0), + $this->equalTo($expectedPhoneNumber, 1), + $this->equalTo($expectedFrom, 2) + ); + + $stubbedMobileMessagingAPIClass = new ReflectionProperty('Piwik_MobileMessaging_API', 'instance'); + $stubbedMobileMessagingAPIClass->setAccessible(true); + $stubbedMobileMessagingAPIClass->setValue($stubbedMobileMessagingAPI); + + $mobileMessaging = new Piwik_MobileMessaging(); + $mobileMessaging->sendReport($eventNotification); + + // restore Piwik_MobileMessaging_API + $stubbedMobileMessagingAPIClass->setValue(null); + } } diff --git a/tests/PHPUnit/Plugins/PDFReportsTest.php b/tests/PHPUnit/Plugins/PDFReportsTest.php index 31320e36e2..23777914db 100644 --- a/tests/PHPUnit/Plugins/PDFReportsTest.php +++ b/tests/PHPUnit/Plugins/PDFReportsTest.php @@ -388,6 +388,35 @@ class PDFReportsTest extends DatabaseTestCase $stubbedPDFReportsAPIClass->setValue(null); } + /** + * Dataprovider for testGetReportSubjectAndReportTitle + */ + public function getGetReportSubjectAndReportTitleTestCases() + { + return array( + array('Piwik.org', 'General_Website Piwik.org', 'Piwik.org', array('UserSettings_getBrowserType')), + array('Piwik.org', 'General_Website Piwik.org', 'Piwik.org', array('MultiSites_getAll', 'UserSettings_getBrowserType')), + array('General_MultiSitesSummary', 'General_MultiSitesSummary', 'Piwik.org', array('MultiSites_getAll')), + ); + } + + /** + * @group Plugins + * @group PDFReports + * @dataProvider getGetReportSubjectAndReportTitleTestCases + */ + public function testGetReportSubjectAndReportTitle($expectedReportSubject, $expectedReportTitle, $websiteName, $reports) + { + $getReportSubjectAndReportTitle = new ReflectionMethod( + 'Piwik_PDFReports_API', 'getReportSubjectAndReportTitle' + ); + $getReportSubjectAndReportTitle->setAccessible(true); + + list($reportSubject, $reportTitle) = $getReportSubjectAndReportTitle->invoke(new Piwik_PDFReports_API(), $websiteName, $reports); + $this->assertEquals($expectedReportSubject, $reportSubject); + $this->assertEquals($expectedReportTitle, $reportTitle); + } + private function assertReportsEqual($report, $data) { foreach ($data as $key => $value) { -- cgit v1.2.3