コード例 #1
0
ファイル: ClientTest.php プロジェクト: NicolasSchmutz/cm
 public function testAddSale()
 {
     $googleAnalytics = new CMService_GoogleAnalytics_Client('');
     $environment = new CM_Frontend_Environment();
     $js = $googleAnalytics->getJs($environment);
     $this->assertNotContains('ga("require", "ecommerce")', $js);
     $this->assertNotContains('ecommerce:addTransaction', $js);
     $this->assertNotContains('ecommerce:addItem', $js);
     $this->assertNotContains('ecommerce:send', $js);
     $googleAnalytics->addSale('t123', 'p123', 1.23);
     $js = $googleAnalytics->getJs($environment);
     $this->assertContains('ga("require", "ecommerce")', $js);
     $this->assertSame(1, substr_count($js, 'ga("ecommerce:addTransaction"'));
     $this->assertSame(1, substr_count($js, 'ga("ecommerce:addItem"'));
     $this->assertSame(1, substr_count($js, 'ga("ecommerce:send");'));
     $this->assertContains('ga("ecommerce:addTransaction", {"id":"t123","revenue":1.23});', $js);
     $this->assertContains('ga("ecommerce:addItem", {"id":"t123","name":"product-p123","sku":"p123","price":1.23,"quantity":1});', $js);
     $googleAnalytics->addSale('t123', 'p456', 4.56);
     $js = $googleAnalytics->getJs($environment);
     $this->assertSame(1, substr_count($js, 'ga("ecommerce:addTransaction"'));
     $this->assertSame(2, substr_count($js, 'ga("ecommerce:addItem"'));
     $this->assertSame(1, substr_count($js, 'ga("ecommerce:send");'));
     $this->assertContains('ga("ecommerce:addTransaction", {"id":"t123","revenue":5.79});', $js);
     $this->assertContains('ga("ecommerce:addItem", {"id":"t123","name":"product-p123","sku":"p123","price":1.23,"quantity":1});', $js);
     $this->assertContains('ga("ecommerce:addItem", {"id":"t123","name":"product-p456","sku":"p456","price":4.56,"quantity":1});', $js);
     $googleAnalytics->addSale('t789', 'p789', 7.89);
     $js = $googleAnalytics->getJs($environment);
     $this->assertSame(2, substr_count($js, 'ga("ecommerce:addTransaction"'));
     $this->assertSame(3, substr_count($js, 'ga("ecommerce:addItem"'));
     $this->assertSame(1, substr_count($js, 'ga("ecommerce:send");'));
     $this->assertContains('ga("ecommerce:addTransaction", {"id":"t123","revenue":5.79});', $js);
     $this->assertContains('ga("ecommerce:addItem", {"id":"t123","name":"product-p123","sku":"p123","price":1.23,"quantity":1});', $js);
     $this->assertContains('ga("ecommerce:addItem", {"id":"t123","name":"product-p456","sku":"p456","price":4.56,"quantity":1});', $js);
     $this->assertContains('ga("ecommerce:addTransaction", {"id":"t789","revenue":7.89});', $js);
     $this->assertContains('ga("ecommerce:addItem", {"id":"t789","name":"product-p789","sku":"p789","price":7.89,"quantity":1});', $js);
 }
コード例 #2
0
ファイル: ClientTest.php プロジェクト: cargomedia/cm
 public function testAddPlugin()
 {
     $ga = new CMService_GoogleAnalytics_Client('');
     $env = new CM_Frontend_Environment();
     $ga->addPlugin('Foo');
     $this->assertContains('ga("require", "Foo");', $ga->getHtml($env));
     $ga->addPlugin('Bar', 'tracker1');
     $this->assertContains('ga("require", "Foo");ga("tracker1.require", "Bar");', $ga->getHtml($env));
     $ga->addPlugin('Baz', null, ['foo' => true]);
     $this->assertContains('ga("require", "Foo");ga("tracker1.require", "Bar");ga("require", "Baz", {"foo":true});', $ga->getHtml($env));
     $ga->addPlugin('Boo', 'tracker2', ['foo' => true]);
     $this->assertContains('ga("require", "Foo");ga("tracker1.require", "Bar");ga("require", "Baz", {"foo":true});ga("tracker2.require", "Boo", {"foo":true});', $ga->getHtml($env));
 }