Completed
Push — master ( 8bc6ad...b2c48e )
by Vitaliy
16:26 queued 13:19
created

VirtualItemsTest::setUp()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 8
rs 9.4285
cc 2
eloc 5
nc 2
nop 0
1
<?php
2
3
namespace Xsolla\SDK\Tests\Integration\API;
4
5
/**
6
 * @group api
7
 */
8
class VirtualItemsTest extends AbstractAPITest
9
{
10
    protected static $virtualItemSku;
11
12
    protected static $virtualItemId;
13
14
    protected static $virtualItemsGroupId;
15
16
    protected static $virtualItem;
17
18
    protected $virtualItemsGroup = array(
19
        'name' => array(
20
            'en' => 'Virtual Item Group',
21
        ),
22
        'description' => array(
23
            'en' => 'Virtual Item Group Description',
24
        ),
25
        'enabled' => true,
26
    );
27
28
    public function setUp()
29
    {
30
        parent::setUp();
31
        if (!static::$virtualItemSku) {
32
            static::$virtualItemSku = uniqid('virtual_item_', false);
33
            static::$virtualItem = $this->generateVirtualItemTemplate(static::$virtualItemSku);
34
        }
35
    }
36
37
    public function testListVirtualItemsGroups()
38
    {
39
        $response = static::$xsollaClient->ListVirtualItemsGroups(array(
40
            'project_id' => static::$projectId,
41
        ));
42
        static::assertInternalType('array', $response);
43
    }
44
45
    public function testListVirtualItems()
46
    {
47
        $response = static::$xsollaClient->ListVirtualItems(array(
48
            'project_id' => static::$projectId,
49
        ));
50
        static::assertInternalType('array', $response);
51
    }
52
53 View Code Duplication
    public function testCreateVirtualItemsGroup()
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
54
    {
55
        $response = static::$xsollaClient->CreateVirtualItemsGroup(array(
56
            'project_id' => static::$projectId,
57
            'request' => $this->virtualItemsGroup,
58
        ));
59
        static::assertArrayHasKey('group_id', $response);
60
        static::$virtualItemsGroupId = $response['group_id'];
61
        static::$virtualItem['groups'] = array(static::$virtualItemsGroupId);
62
    }
63
64
    /**
65
     * @depends testCreateVirtualItemsGroup
66
     */
67
    public function testGetVirtualItemsGroup()
68
    {
69
        $response = static::$xsollaClient->GetVirtualItemsGroup(array(
70
            'project_id' => static::$projectId,
71
            'group_id' => static::$virtualItemsGroupId,
72
        ));
73
        static::assertInternalType('array', $response);
74
    }
75
76
    /**
77
     * @depends testGetVirtualItemsGroup
78
     */
79
    public function testUpdateVirtualItemsGroup()
80
    {
81
        static::$xsollaClient->UpdateVirtualItemsGroup(array(
82
            'project_id' => static::$projectId,
83
            'group_id' => static::$virtualItemsGroupId,
84
            'request' => $this->virtualItemsGroup,
85
        ));
86
    }
87
88
    /**
89
     * @depends testUpdateVirtualItemsGroup
90
     */
91 View Code Duplication
    public function testCreateVirtualItem()
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
92
    {
93
        $response = static::$xsollaClient->CreateVirtualItem(array(
94
            'project_id' => static::$projectId,
95
            'request' => static::$virtualItem,
96
        ));
97
        static::assertArrayHasKey('item_id', $response);
98
        static::$virtualItemId = $response['item_id'];
99
    }
100
101
    /**
102
     * @depends testCreateVirtualItem
103
     */
104
    public function testGetVirtualItem()
105
    {
106
        $response = static::$xsollaClient->GetVirtualItem(array(
107
            'project_id' => static::$projectId,
108
            'item_id' => static::$virtualItemId,
109
        ));
110
        static::assertInternalType('array', $response);
111
    }
112
113
    /**
114
     * @depends testGetVirtualItem
115
     */
116
    public function testUpdateVirtualItem()
117
    {
118
        static::$xsollaClient->UpdateVirtualItem(array(
119
            'project_id' => static::$projectId,
120
            'item_id' => static::$virtualItemId,
121
            'request' => static::$virtualItem,
122
        ));
123
    }
124
125
    /**
126
     * @depends testUpdateVirtualItemsGroup
127
     */
128
    public function testUpdateVirtualItemOrderInGroup()
129
    {
130
        static::$xsollaClient->UpdateVirtualItemOrderInGroup(array(
131
            'project_id' => static::$projectId,
132
            'request' => array(
133
                'group_id' => static::$virtualItemsGroupId,
134
                'virtual_items' => array(static::$virtualItemSku),
135
            ),
136
        ));
137
    }
138
139
    /**
140
     * @depends testUpdateVirtualItemOrderInGroup
141
     */
142
    public function testDeleteVirtualItem()
143
    {
144
        static::$xsollaClient->DeleteVirtualItem(array(
145
            'project_id' => static::$projectId,
146
            'item_id' => static::$virtualItemId,
147
        ));
148
    }
149
150
    /**
151
     * @depends testDeleteVirtualItem
152
     */
153
    public function testDeleteVirtualItemsGroup()
154
    {
155
        static::$xsollaClient->DeleteVirtualItemsGroup(array(
156
            'project_id' => static::$projectId,
157
            'group_id' => static::$virtualItemsGroupId,
158
        ));
159
    }
160
}
161