Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJulien Moumné <julien@piwik.org>2013-04-23 11:12:44 +0400
committerJulien Moumné <julien@piwik.org>2013-04-23 11:19:04 +0400
commite2a02e8d4de61022f9d75d10fdabaec23ed15d53 (patch)
treec66ca3eda36d6b38cb187b76b80f4d025af821a3 /tests
parent84dfea289f2b5b3aecbd9efca597d83f827366f3 (diff)
fix #3896
Diffstat (limited to 'tests')
-rw-r--r--tests/PHPUnit/Plugins/MobileMessagingTest.php49
-rw-r--r--tests/PHPUnit/Plugins/PDFReportsTest.php29
2 files changed, 78 insertions, 0 deletions
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) {