Completed
Push — master ( 313249...11f8f0 )
by
unknown
12s
created

VirtualItemsTest::testListVirtualItemsWithParams()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 7

Duplication

Lines 10
Ratio 100 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 10
loc 10
rs 9.4285
cc 1
eloc 7
nc 1
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 testListVirtualItemsWithParams()
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->ListVirtualItems(array(
56
            'project_id' => static::$projectId,
57
            'offset' => 0,
58
            'limit' => 100,
59
            'has_price' => 'virtual_currency',
60
        ));
61
        static::assertInternalType('array', $response);
62
    }
63
64 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...
65
    {
66
        $response = static::$xsollaClient->CreateVirtualItemsGroup(array(
67
            'project_id' => static::$projectId,
68
            'request' => $this->virtualItemsGroup,
69
        ));
70
        static::assertArrayHasKey('group_id', $response);
71
        static::$virtualItemsGroupId = $response['group_id'];
72
        static::$virtualItem['groups'] = array(static::$virtualItemsGroupId);
73
    }
74
75
    /**
76
     * @depends testCreateVirtualItemsGroup
77
     */
78
    public function testGetVirtualItemsGroup()
79
    {
80
        $response = static::$xsollaClient->GetVirtualItemsGroup(array(
81
            'project_id' => static::$projectId,
82
            'group_id' => static::$virtualItemsGroupId,
83
        ));
84
        static::assertInternalType('array', $response);
85
    }
86
87
    /**
88
     * @depends testGetVirtualItemsGroup
89
     */
90
    public function testUpdateVirtualItemsGroup()
91
    {
92
        static::$xsollaClient->UpdateVirtualItemsGroup(array(
93
            'project_id' => static::$projectId,
94
            'group_id' => static::$virtualItemsGroupId,
95
            'request' => $this->virtualItemsGroup,
96
        ));
97
    }
98
99
    /**
100
     * @depends testUpdateVirtualItemsGroup
101
     */
102 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...
103
    {
104
        $response = static::$xsollaClient->CreateVirtualItem(array(
105
            'project_id' => static::$projectId,
106
            'request' => static::$virtualItem,
107
        ));
108
        static::assertArrayHasKey('item_id', $response);
109
        static::$virtualItemId = $response['item_id'];
110
    }
111
112
    /**
113
     * @depends testCreateVirtualItem
114
     */
115
    public function testGetVirtualItem()
116
    {
117
        $response = static::$xsollaClient->GetVirtualItem(array(
118
            'project_id' => static::$projectId,
119
            'item_id' => static::$virtualItemId,
120
        ));
121
        static::assertInternalType('array', $response);
122
    }
123
124
    /**
125
     * @depends testGetVirtualItem
126
     */
127
    public function testUpdateVirtualItem()
128
    {
129
        static::$xsollaClient->UpdateVirtualItem(array(
130
            'project_id' => static::$projectId,
131
            'item_id' => static::$virtualItemId,
132
            'request' => static::$virtualItem,
133
        ));
134
    }
135
136
    /**
137
     * @depends testUpdateVirtualItemsGroup
138
     */
139
    public function testUpdateVirtualItemOrderInGroup()
140
    {
141
        static::$xsollaClient->UpdateVirtualItemOrderInGroup(array(
142
            'project_id' => static::$projectId,
143
            'request' => array(
144
                'group_id' => static::$virtualItemsGroupId,
145
                'virtual_items' => array(static::$virtualItemSku),
146
            ),
147
        ));
148
    }
149
150
    /**
151
     * @depends testUpdateVirtualItemOrderInGroup
152
     */
153
    public function testDeleteVirtualItem()
154
    {
155
        static::$xsollaClient->DeleteVirtualItem(array(
156
            'project_id' => static::$projectId,
157
            'item_id' => static::$virtualItemId,
158
        ));
159
    }
160
161
    /**
162
     * @depends testDeleteVirtualItem
163
     */
164
    public function testDeleteVirtualItemsGroup()
165
    {
166
        static::$xsollaClient->DeleteVirtualItemsGroup(array(
167
            'project_id' => static::$projectId,
168
            'group_id' => static::$virtualItemsGroupId,
169
        ));
170
    }
171
}
172