/** * @test * @group library */ public function test_sendStatisticToAnalyticsServices_Success() { // ARRANGE $trackingId = 'this_is_the_tracking_id'; $this->enableAnalytics($trackingId); $expectedTraits = array('diskUsage' => null, 'usedWebsites' => 10, 'publishingEnabledWebsites' => 9, 'publishedWebsites' => 8, 'publishedWebsitesInternalUrl' => array('http://internal.cname.rz'), 'publishedWebsitesExternalUrl' => array('external.host.rz', 'http://external.url.rz', 'http://external.url2.rz'), 'totalUsers' => 2, 'usedModuleIds' => array('rz_module_1', 'rz_module_2', 'rz_module_3')); $expectedTrack = array('event' => 'Space Init', 'properties' => array('id' => 'unknown-id', 'name' => 'unknown-name', 'userLogin' => '*****@*****.**', 'space' => $this->spaceHost)); $expectedWebsites = $this->getTestWebsites(); $sendToAnalytics = new SendStatisticToAnalytics($this->getUserBusinessMock(), $this->getActionLogBusiness(), $this->getWebsiteBusinessMock($expectedWebsites), $this->getBuilderBusinessMock(), $this->getTemplateBusinessMock($expectedWebsites)); // ACT $sendToAnalytics->send(); // ASSERT $stats = $this->getSentStats(); $this->assertCount(2, $stats); $this->assertStatIdentify($stats[0], $trackingId, $expectedTraits); $this->assertStatTrack($stats[1], $trackingId, $expectedTrack); }
/** * Send Stats (ActionLog and some ad hoc stats) to Segment.io (which calls other APIs) */ public function sendStatisticToAnalyticsServices() { $sendToAnalytics = new SendStatisticToAnalytics($this->getBusiness('User'), $this->getBusiness('ActionLog'), $this->getBusiness('Website'), $this->getBusiness('Builder'), $this->getBusiness('Template')); $sendToAnalytics->send(); }