AddTransactionCommandTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 4
dl 0
loc 36
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testGenerateEmptyTracker() 0 10 1
A testGenerateFullTracker() 0 21 1
1
<?php
2
3
namespace ByTIC\GoogleAnalytics\Tests\Renderer\Script\AnalyticsJs\Ecommerce;
4
5
use ByTIC\GoogleAnalytics\Tests\AbstractTest;
6
use ByTIC\GoogleAnalytics\Tracking\Data\Ecommerce\Transaction;
7
use ByTIC\GoogleAnalytics\Tracking\Data\Tracker;
8
use ByTIC\GoogleAnalytics\Tracking\Renderer\Script\AnalyticsJs\Ecommerce\AddTransactionCommand;
9
10
/**
11
 * Class AddTransactionCommandTest
12
 * @package ByTIC\GoogleAnalytics\Tests\Renderer\Script\AnalyticsJs\Ecommerce
13
 */
14
class AddTransactionCommandTest extends AbstractTest
15
{
16
17
    public function testGenerateEmptyTracker()
18
    {
19
        $tracker = new Tracker();
20
        $transaction = Transaction::createFromArray(['id' => 1]);
21
22
        self::assertSame(
23
            "\n" . 'ga("ecommerce:addTransaction",{"id":1});',
24
            AddTransactionCommand::generate($tracker, $transaction)
25
        );
26
    }
27
28
    public function testGenerateFullTracker()
29
    {
30
        $tracker = new Tracker();
31
        $transaction = Transaction::createFromArray(
32
            [
33
                'id' => 1,
34
                'affiliation' => 'Acme Clothing',
35
                'revenue' => 99.99,
36
                'shipping' => 9.99,
37
                'tax' => 19.99,
38
                'currency' => 'RON',
39
            ]
40
        );
41
42
        self::assertSame(
43
            "\n"
44
            . 'ga("ecommerce:addTransaction",'
45
            . '{"id":1,"affiliation":"Acme Clothing","revenue":99.99,"shipping":9.99,"tax":19.99,"currency":"RON"});',
46
            AddTransactionCommand::generate($tracker, $transaction)
47
        );
48
    }
49
}
50