PluginProbe
Packeta / 2.1
Packeta v2.1
2.3.2 2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 All 56 releases
packeta / tests / Core / DummyFactory.php

DummyFactory.php in Packeta 2.1, at tests/Core/DummyFactory.php

281 lines 4.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare( strict_types=1 );
4
5 namespace Tests\Core;
6
7 use Packetery\Core\CoreHelper;
8 use Packetery\Core\Entity\Address;
9 use Packetery\Core\Entity\Carrier;
10 use Packetery\Core\Entity\CustomsDeclaration;
11 use Packetery\Core\Entity\CustomsDeclarationItem;
12 use Packetery\Core\Entity\Order;
13 use Packetery\Core\Entity\PickupPoint;
14 use Packetery\Core\Entity\Size;
15 use Packetery\Core\PickupPointProvider\VendorProvider;
16
17 class DummyFactory {
18 public static function createAddress( ?string $houseNumber = null, ?string $county = null ): Address {
19 $address = new Address( 'Dummy street', 'Dummy city', '123 45' );
20 $address->setHouseNumber( $houseNumber );
21 $address->setCounty( $county );
22
23 return $address;
24 }
25
26 public static function createInvalidAddress(): Address {
27 return new Address( null, 'Dummy city', '123 45' );
28 }
29
30 public static function createSize(): Size {
31 return new Size( 300.0, 200.0, 100.0 );
32 }
33
34 public static function createOrderCzPp(): Order {
35 $order = new Order( 'dummyNumber123', self::createCarrierCzechPp() );
36 $order->setName( 'Customer name' );
37 $order->setManualValue( 123.5 );
38 $order->setEshop( 'Sender label' );
39 $order->setWeight( 1.25 );
40
41 return $order;
42 }
43
44 public static function createOrderCzHdIncomplete(): Order {
45 $order = new Order( 'dummyNumber123', self::createCarrierCzechHdRequiresSize() );
46 $order->setName( 'Customer name' );
47 $order->setManualValue( 123.5 );
48 $order->setEshop( 'Sender label' );
49 $order->setWeight( 1.25 );
50
51 return $order;
52 }
53
54 public static function createOrderCzCdIncomplete(): Order {
55 $order = new Order( 'dummyNumber123', self::createCarDeliveryCarrier() );
56 $order->setName( 'Customer name' );
57 $order->setManualValue( 123.5 );
58 $order->setEshop( 'Sender label' );
59 $order->setWeight( 1.25 );
60
61 return $order;
62 }
63
64 public static function createCarrierCzzpoint(): Carrier {
65 return new Carrier(
66 'czzpoint',
67 'czzpoint',
68 true,
69 false,
70 false,
71 false,
72 true,
73 true,
74 false,
75 true,
76 'cz',
77 'CZK',
78 30.0,
79 true,
80 false,
81 true
82 );
83 }
84
85 public static function createCarrierZpointcz(): Carrier {
86 return new Carrier(
87 'zpointcz',
88 'zpointcz',
89 true,
90 false,
91 false,
92 false,
93 true,
94 true,
95 false,
96 true,
97 'cz',
98 'CZK',
99 30.0,
100 true,
101 false,
102 true
103 );
104 }
105
106 public static function createCarrierCzechPp(): Carrier {
107 return new Carrier(
108 'zpoint-cz',
109 'zpoint-cz',
110 true,
111 false,
112 false,
113 false,
114 true,
115 true,
116 false,
117 true,
118 'cz',
119 'CZK',
120 5.0,
121 true,
122 false,
123 true
124 );
125 }
126
127 public static function createCarrierSlovakPp(): Carrier {
128 return new Carrier(
129 'zpoint-sk',
130 'zpoint-sk',
131 true,
132 false,
133 false,
134 false,
135 true,
136 true,
137 false,
138 true,
139 'sk',
140 'EUR',
141 5.0,
142 true,
143 false,
144 true
145 );
146 }
147
148 public static function createCarDeliveryCarrier(): Carrier {
149 return new Carrier(
150 '25061',
151 'CZ Zásilkovna do auta',
152 false,
153 false,
154 true,
155 false,
156 true,
157 true,
158 true,
159 false,
160 'cz',
161 'CZK',
162 5.0,
163 true,
164 false,
165 false
166 );
167 }
168
169 public static function createCarrierCzechHdRequiresSize(): Carrier {
170 return new Carrier(
171 '106',
172 'hd-cz',
173 false,
174 false,
175 false,
176 false,
177 true,
178 true,
179 true,
180 true,
181 'cz',
182 'CZK',
183 5.0,
184 true,
185 true,
186 true
187 );
188 }
189
190 public static function createCarrierGermanHd(): Carrier {
191 return new Carrier(
192 '6373',
193 'DE Hermes HD',
194 false,
195 true,
196 false,
197 false,
198 true,
199 true,
200 true,
201 true,
202 'de',
203 'EUR',
204 30.0,
205 true,
206 false,
207 true
208 );
209 }
210
211 public static function createCarrierGermanPp(): Carrier {
212 return new Carrier(
213 '6828',
214 'DE Hermes PP',
215 true,
216 true,
217 false,
218 false,
219 true,
220 true,
221 true,
222 true,
223 'de',
224 'EUR',
225 30.0,
226 true,
227 false,
228 true
229 );
230 }
231
232 public static function createPickupPoint(): PickupPoint {
233 return new PickupPoint(
234 '123456',
235 'Dummy PP',
236 'Dummy city',
237 '123 45',
238 'Dummy street',
239 null,
240 );
241 }
242
243 public static function createVendor(): VendorProvider {
244 return new VendorProvider(
245 'czzpoint',
246 'cz',
247 true,
248 true,
249 'CZK',
250 true,
251 Carrier::VENDOR_GROUP_ZPOINT,
252 );
253 }
254
255 public static function createCustomsDeclaration(): CustomsDeclaration {
256 $customsDeclaration = new CustomsDeclaration(
257 'dummyOrderId123',
258 'dummyEad',
259 1234.5,
260 'dummyInvoiceNumber123',
261 CoreHelper::now(),
262 );
263
264 $customsDeclaration->setItems( [ self::createCustomsDeclarationItem() ] );
265
266 return $customsDeclaration;
267 }
268
269 public static function createCustomsDeclarationItem(): CustomsDeclarationItem {
270 return new CustomsDeclarationItem(
271 'dummyId123',
272 'Dummy customs code',
273 1234.5,
274 'Dummy product name',
275 1,
276 'de',
277 1.25,
278 );
279 }
280 }
281