Test Failed
Push — develop ( cf0637...ea0f43 )
by Yuji
08:02
created

UpdateItemStockInfoTest   A

Complexity

Total Complexity 14

Size/Duplication

Total Lines 167
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 14
lcom 1
cbo 2
dl 0
loc 167
rs 10
c 1
b 0
f 0

14 Methods

Rating   Name   Duplication   Size   Complexity  
A quantity_is_not_set() 0 7 1
A item_code_is_not_set() 0 7 1
A seller_id_is_not_set() 0 7 1
A seller_id_is_number_or_alphabet_lowercase_or_dash_set() 0 6 1
A sub_code_is_not_set() 0 6 1
A item_code_and_sub_code_is_number_or_alphabet_upper_or_lowercase_or_dash_set() 0 6 1
A item_code_is_only_number_or_alphabet_upper_or_lowercase_or_dash_set() 0 6 1
A sub_code_is_only_number_or_alphabet_upper_or_lowercase_or_dash_set() 0 6 1
A quantity_is_number_set() 0 6 1
A quantity_is_negative_number_set() 0 6 1
A quantity_is_string_ini_set() 0 6 1
A quantity_is_only_number_or_string_ini_set() 0 6 1
A allow_overdraft_is_boolean_set() 0 6 1
A get_params_is_set() 0 16 1
1
<?php
2
3
namespace Shippinno\YahooShoppingJp\Request;
4
5
use DateTimeImmutable;
6
use PHPUnit\Framework\TestCase;
7
8
class UpdateItemStockInfoTest extends TestCase
9
{
10
    /**
11
     * @test
12
     * @expectedException \Shippinno\YahooShoppingJp\Exception\InvalidRequestException
13
     * @expectedExceptionMessage quantity is not set.
14
     */
15
    public function quantity_is_not_set()
16
    {
17
        $request = new UpdateItemStockInfoRequest;
18
19
        $this->assertSame($request, $request->setSellerId('valid-seller-id')->setItemCode('VALID-ITEM-CODE'));
20
        $request->getParams();
21
    }
22
23
    /**
24
     * @test
25
     * @expectedException \Shippinno\YahooShoppingJp\Exception\InvalidRequestException
26
     * @expectedExceptionMessage item_code is not set.
27
     */
28
    public function item_code_is_not_set()
29
    {
30
        $request = new UpdateItemStockInfoRequest;
31
32
        $this->assertSame($request, $request->setSellerId('valid-seller-id')->setQuantity(2));
33
        $request->getParams();
34
    }
35
36
    /**
37
     * @test
38
     * @expectedException \Shippinno\YahooShoppingJp\Exception\InvalidRequestException
39
     * @expectedExceptionMessage seller_id is not set.
40
     */
41
    public function seller_id_is_not_set()
42
    {
43
        $request = new UpdateItemStockInfoRequest;
44
45
        $this->assertSame($request, $request->setItemCode('VALID-ITEM-CODE')->setQuantity(2));
46
        $request->getParams();
47
    }
48
49
    /**
50
     * @test
51
     */
52
    public function seller_id_is_number_or_alphabet_lowercase_or_dash_set()
53
    {
54
        $request = new UpdateItemStockInfoRequest;
55
56
        $this->assertSame($request, $request->setSellerId('valid-seller-id'));
57
    }
58
59
    /**
60
     * @test
61
     */
62
    public function sub_code_is_not_set()
63
    {
64
        $request = new UpdateItemStockInfoRequest;
65
66
        $this->assertSame($request, $request->setItemCode('VALID-ITEM-CODE'));
67
    }
68
69
    /**
70
     * @test
71
     */
72
    public function item_code_and_sub_code_is_number_or_alphabet_upper_or_lowercase_or_dash_set()
73
    {
74
        $request = new UpdateItemStockInfoRequest;
75
76
        $this->assertSame($request, $request->setItemCode('VALID-ITEM-CODE', 'SUB-CODE'));
77
    }
78
79
    /**
80
     * @test
81
     * @expectedException \Shippinno\YahooShoppingJp\Exception\InvalidRequestException
82
     * @expectedExceptionMessage item_code error.
83
     */
84
    public function item_code_is_only_number_or_alphabet_upper_or_lowercase_or_dash_set()
85
    {
86
        $request = new UpdateItemStockInfoRequest;
87
88
        $this->assertSame($request, $request->setItemCode('VALID_ITEM_CODE'));
89
    }
90
91
    /**
92
     * @test
93
     * @expectedException \Shippinno\YahooShoppingJp\Exception\InvalidRequestException
94
     * @expectedExceptionMessage sub_code error.
95
     */
96
    public function sub_code_is_only_number_or_alphabet_upper_or_lowercase_or_dash_set()
97
    {
98
        $request = new UpdateItemStockInfoRequest;
99
100
        $this->assertSame($request, $request->setItemCode('VALID-ITEM-CODE', 'SUB_CODE'));
101
    }
102
103
    /**
104
     * @test
105
     */
106
    public function quantity_is_number_set()
107
    {
108
        $request = new UpdateItemStockInfoRequest;
109
110
        $this->assertSame($request, $request->setQuantity(999999999));
111
    }
112
113
    /**
114
     * @test
115
     */
116
        public function quantity_is_negative_number_set()
117
    {
118
        $request = new UpdateItemStockInfoRequest;
119
120
        $this->assertSame($request, $request->setQuantity(-999999999));
121
    }
122
123
    /**
124
     * @test
125
     */
126
    public function quantity_is_string_ini_set()
127
    {
128
        $request = new UpdateItemStockInfoRequest;
129
130
        $this->assertSame($request, $request->setQuantity('INI'));
131
    }
132
133
    /**
134
     * @test
135
     * @expectedException \Shippinno\YahooShoppingJp\Exception\InvalidRequestException
136
     * @expectedExceptionMessage Only number or INI can be set.
137
     */
138
    public function quantity_is_only_number_or_string_ini_set()
139
    {
140
        $request = new UpdateItemStockInfoRequest;
141
142
        $this->assertSame($request, $request->setQuantity('INT'));
143
    }
144
145
    /**
146
     * @test
147
     */
148
    public function allow_overdraft_is_boolean_set()
149
    {
150
        $request = new UpdateItemStockInfoRequest;
151
152
        $this->assertSame($request, $request->setAllowOverdraft(true));
153
    }
154
155
    /**
156
     * @test
157
     */
158
    public function get_params_is_set()
159
    {
160
        $request = new UpdateItemStockInfoRequest;
161
162
        $this->assertSame($request, $request->setSellerId('valid-seller-id'));
163
        $this->assertSame($request, $request->setItemCode('VALID-ITEM-CODE', 'SUB-CODE'));
164
        $this->assertSame($request, $request->setQuantity(999999999));
165
        $this->assertSame($request, $request->setAllowOverdraft(true));
166
167
        $params = $request->getParams();
168
169
        $this->assertSame('valid-seller-id', $params['seller_id']);
170
        $this->assertSame('VALID-ITEM-CODE:SUB-CODE', $params['item_code']);
171
        $this->assertSame('999999999', $params['quantity']);
172
        $this->assertSame(1, $params['allow_overdraft']);
173
    }
174
}
175