/**
  * @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);
 }
Example #2
0
 /**
  * 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();
 }