Test Failed
Push — master ( 819d33...a2b805 )
by Alexey
05:27
created

EcommerceItemTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
class EcommerceItemTest extends PHPUnit_Framework_TestCase {
4
5
    private $textParamId;
6
    private $listParamId;
7
    private $emptyParamId;
8
9
    /**
10
     * @covers Modules::install
11
     */
12
    public function setUp() {
13
        \App::$cur->Modules->install('Ecommerce');
14
        $this->textParam();
15
        $this->listParam();
16
        $this->emptyParam();
17
    }
18
19 View Code Duplication
    private function textParam() {
20
        $option = \Ecommerce\Item\Option::get('text', 'type');
21
        if (!$option) {
22
            $option = new \Ecommerce\Item\Option(['type' => 'text']);
23
            $option->save();
24
        }
25
26
        $param = \Ecommerce\Item\Param::get([['value', 'textParam'], ['item_option_id', $option->id]]);
27
        if (!$param) {
28
            $param = new \Ecommerce\Item\Param(['value' => 'textParam', 'item_option_id' => $option->id]);
29
            $param->save();
30
        }
31
32
        $this->textParamId = $param->id;
33
    }
34
35 View Code Duplication
    private function emptyParam() {
36
        $option = \Ecommerce\Item\Option::get('text', 'type');
37
        if (!$option) {
38
            $option = new \Ecommerce\Item\Option(['type' => 'text']);
39
            $option->save();
40
        }
41
42
        $param = \Ecommerce\Item\Param::get([['value', ''], ['item_option_id', $option->id]]);
43
        if (!$param) {
44
            $param = new \Ecommerce\Item\Param(['value' => '', 'item_option_id' => $option->id]);
45
            $param->save();
46
        }
47
48
        $this->emptyParamId = $param->id;
49
    }
50
51
    private function listParam() {
52
        $option = \Ecommerce\Item\Option::get('select', 'type');
53
        if (!$option) {
54
            $option = new \Ecommerce\Item\Option(['type' => 'select']);
55
            $option->save();
56
        }
57
        $option->id;
58
        $item = \Ecommerce\Item\Option\Item::get([['item_option_id', $option->id], ['value', 'success']]);
59
        if (!$item) {
60
            $item = new \Ecommerce\Item\Option\Item([
61
                'item_option_id' => $option->id,
62
                'value' => 'success'
63
            ]);
64
            $item->save();
65
        }
66
67
        $param = \Ecommerce\Item\Param::get([['value', $item->id], ['item_option_id', $option->id]]);
68
        if (!$param) {
69
            $param = new \Ecommerce\Item\Param(['value' => $item->id, 'item_option_id' => $option->id]);
70
            $param->save();
71
        }
72
73
        $this->listParamId = $param->id;
74
    }
75
76
    /**
77
     * @covers Ecommerce\Item\Param::valueText
78
     */
79
    public function testTextParam() {
80
        $param = \Ecommerce\Item\Param::get($this->textParamId);
81
        $this->assertEquals('textParam', $param->valueText());
82
    }
83
84
    /**
85
     * @covers Ecommerce\Item\Param::valueText
86
     */
87
    public function testListParam() {
88
        $param = \Ecommerce\Item\Param::get($this->listParamId);
89
        $this->assertEquals('success', $param->valueText());
90
    }
91
92
    /**
93
     * @covers Ecommerce\Item\Param::valueText
94
     */
95
    public function testEmptyParam() {
96
        $param = \Ecommerce\Item\Param::get($this->emptyParamId);
97
        $this->assertEquals('empty', $param->valueText('empty'));
98
    }
99
}