source: branches/version-2_12-dev/tests/class/helper/SC_Helper_Purchase/SC_Helper_Purchase_TestBase.php @ 22158

Revision 22158, 10.4 KB checked in by shift_hiroko.tamagawa, 9 years ago (diff)

MySQL/PostgreSQLエラー修正、テストケース追加

Line 
1<?php
2
3$HOME = realpath(dirname(__FILE__)) . "/../../../..";
4require_once($HOME . "/tests/class/Common_TestCase.php");
5/**
6 *
7 */
8class SC_Helper_Purchase_TestBase extends Common_TestCase {
9
10  protected function setUp() {
11    parent::setUp();
12  }
13
14  protected function tearDown() {
15    parent::tearDown();
16  }
17
18  /////////////////////////////////////////
19  /**
20   * セッションに配送情報を設定します。
21   */
22  protected function setUpShipping($shipping) {
23    if (!$shipping) {
24      $shipping = getSingleShipping();
25    }
26
27    $_SESSION['shipping'] = $shipping;
28  }
29
30  protected function getSingleShipping() {
31    return array(
32      '00001' => array(
33        'shipment_id' => '00001',
34        'shipment_item' => '商品1',
35        'shipping_pref' => '東京都')
36    );
37  }
38
39  protected function getMultipleShipping() {
40    return array(
41      '00001' => array(
42        'shipment_id' => '00001',
43        'shipment_item' => array('商品1'),
44        'shipping_pref' => '東京都'),
45      '00002' => array(
46        'shipment_id' => '00002',
47        'shipment_item' => array('商品2'),
48        'shipping_pref' => '沖縄県'),
49      '00003' => array(
50        'shipment_id' => '00003',
51        'shipment_item' => array(),
52        'shipping_pref' => '埼玉県')
53    );
54  }
55
56  /**
57   * DBに配送情報を設定します。
58   */
59  protected function setUpShippingOnDb() {
60    $shippings = array(
61      array(
62        'shipping_id' => '1',
63        'order_id' => '1',
64        'shipping_name01' => '配送情報01',
65        'shipping_date' => '2012-01-12'
66      ),
67      array(
68        'shipping_id' => '2',
69        'order_id' => '2',
70        'shipping_name01' => '配送情報02',
71        'shipping_date' => '2011-10-01'
72      ),
73      array(
74        'shipping_id' => '1002',
75        'order_id' => '1002',
76        'shipping_time' => '午後',
77        'time_id' => '1'
78      )
79    );
80
81    foreach ($shippings as $key => $item) {
82      $this->objQuery->insert('dtb_shipping', $item);
83    }
84  }
85
86  /**
87   * DBに配送商品情報を設定します。
88   */
89  protected function setUpShipmentItem() {
90      $shipping_items = array(
91        array(
92          'shipping_id' => '1',
93          'product_class_id' => '1001',
94          'order_id' => '1',
95          'product_name' => '商品名01',
96          'price' => '1500'
97        ),
98        array(
99          'shipping_id' => '1',
100          'product_class_id' => '1002',
101          'order_id' => '1',
102          'product_name' => '商品名02',
103          'price' => '2400'
104        )
105      );
106
107    foreach ($shipping_items as $key => $item) {
108      $this->objQuery->insert('dtb_shipment_item', $item);
109    }
110    $this->setUpProductClass();
111  }
112
113  /**
114   * DBに商品クラス情報を設定します.
115   */
116  protected function setUpProductClass() {
117      $product_class = array(
118        array(
119          'product_class_id' => '1001',
120          'product_id' => '1001',
121          'product_type_id' => '1001',
122          'product_code' => 'code1001',
123          'classcategory_id1' => '1001',
124          'classcategory_id2' => '1002',
125          'price01' => '1500',
126          'price02' => '1500',
127          'del_flg' => '0'
128        ),
129        array(
130          'product_class_id' => '1002',
131          'product_id' => '1002',
132          'product_type_id' => '1002',
133          'del_flg' => '0'
134        )
135      );
136
137    foreach ($product_class as $key => $item) {
138      $this->objQuery->insert('dtb_products_class', $item);
139    }
140    $this->setUpClassCategory();
141    $this->setUpProducts();
142  }
143
144  /**
145   * DBに製品カテゴリ情報を登録します.
146   */
147  protected function setUpClassCategory() {
148    $class_category = array(
149      array(
150        'classcategory_id' => '1001',
151        'name' => 'cat1001'
152      ),
153      array(
154        'classcategory_id' => '1002',
155        'name' => 'cat1002'
156      )
157    );
158
159    foreach ($class_category as $key => $item) {
160      $this->objQuery->insert('dtb_classcategory', $item);
161    }
162  }
163
164  /**
165   * DBに製品情報を登録します.
166   */
167 protected function setUpProducts() {
168   $products = array(
169     array(
170       'product_id' => '1001',
171       'name' => '製品名1001',
172       'del_flg' => '0',
173       'status' => '1'
174     ),
175     array(
176       'product_id' => '1002',
177       'name' => '製品名1002',
178       'del_flg' => '0',
179       'status' => '2'
180     )
181   );
182
183   foreach ($products as $key => $item) {
184     $this->objQuery->insert('dtb_products', $item);
185   }
186 }
187
188 /**
189  * DBに支払方法の情報を登録します.
190  */
191 protected function setUpPaymentOptions() {
192   $payment_options = array(
193     array(
194       'deliv_id' => '2001',
195       'payment_id' => '2001',
196       'rank' => '1'
197     ),
198     array(
199       'deliv_id' => '1001',
200       'payment_id' => '1001',
201       'rank' => '2'
202     ),
203     array(
204       'deliv_id' => '1001',
205       'payment_id' => '1002',
206       'rank' => '1'
207     ),
208     array(
209       'deliv_id' => '1003',
210       'payment_id' => '3001',
211       'rank' => '1'
212     ),
213     array(
214       'deliv_id' => '1003',
215       'payment_id' => '3002',
216       'rank' => '2'
217     ),
218     array(
219       'deliv_id' => '1003',
220       'payment_id' => '3003',
221       'rank' => '3'
222     ),
223     array(
224       'deliv_id' => '1003',
225       'payment_id' => '3004',
226       'rank' => '4'
227     ),
228     array(
229       'deliv_id' => '1003',
230       'payment_id' => '3005',
231       'rank' => '5'
232     )
233   );
234
235   foreach ($payment_options as $key => $item) {
236     $this->objQuery->insert('dtb_payment_options', $item);
237   }
238 }
239 
240 /**
241  * DBに配送業者の情報を登録します.
242  */
243 protected function setUpDeliv() {
244   $deliv = array(
245     array(  // 削除フラグON
246       'deliv_id' => '2001',
247       'product_type_id' => '1001',
248       'name' => '配送業者del',
249       'rank' => '1',
250       'creator_id' => '1',
251       'del_flg' => '1'
252     ),
253     array(
254       'deliv_id' => '1001',
255       'product_type_id' => '1001',
256       'name' => '配送業者01',
257       'creator_id' => '1',
258       'rank' => '2'
259     ),
260     array(
261       'deliv_id' => '1002',
262       'product_type_id' => '1001',
263       'name' => '配送業者02',
264       'creator_id' => '1',
265       'rank' => '3'
266     ),
267     array( // 商品種別違い
268       'deliv_id' => '1004',
269       'product_type_id' => '2001',
270       'name' => '配送業者21',
271       'creator_id' => '1',
272       'rank' => '4'
273     ),
274   );
275
276   foreach ($deliv as $key => $item) {
277     $this->objQuery->insert('dtb_deliv', $item);
278   }
279 }
280
281 /**
282  * DBにお届け時間の情報を登録します.
283  */
284 protected function setUpDelivTime() {
285   $deliv_time = array(
286     array(
287       'deliv_id' => '1002',
288       'time_id' => '1',
289       'deliv_time' => '午前'
290     ),
291     array(
292       'deliv_id' => '1001',
293       'time_id' => '2',
294       'deliv_time' => '午後'
295     ),
296     array(
297       'deliv_id' => '1001',
298       'time_id' => '1',
299       'deliv_time' => '午前'
300     ),
301   );
302
303   foreach ($deliv_time as $key => $item) {
304     $this->objQuery->insert('dtb_delivtime', $item);
305   }
306 }
307
308 /**
309  * DBに支払方法の情報を登録します.
310  */
311 protected function setUpPayment() {
312   $payment = array(
313     array(
314       'payment_id' => '1001',
315       'payment_method' => '支払方法1001'
316     ),
317     array(
318       'payment_id' => '1002',
319       'payment_method' => '支払方法1002',
320       'del_flg' => '1'
321     ),
322     array(
323       'payment_id' => '1003',
324       'payment_method' => '支払方法1003'
325     ),
326     array(
327       'payment_id' => '3001',
328       'payment_method' => '支払方法3001',
329       'del_flg' => '1'
330     ),
331     array(
332       'payment_id' => '3002',
333       'payment_method' => '支払方法3002'
334     ),
335     array(
336       'payment_id' => '3003',
337       'payment_method' => '支払方法3003',
338       'rule_max' => 10000
339     ),
340     array(
341       'payment_id' => '3004',
342       'payment_method' => '支払方法3004',
343       'upper_rule' => 20000
344     ),
345     array(
346       'payment_id' => '3005',
347       'payment_method' => '支払方法3005',
348       'rule_max' => 12000,
349       'upper_rule' => 21000
350     )
351   );
352
353   foreach ($payment as $key => $item) {
354     $this->objQuery->insert('dtb_payment', $item);
355   }
356 }
357
358 /**
359  * DBに受注情報を設定します.
360  */
361  protected function setUpOrder() {
362    $order = array(
363      array(
364        'order_id' => '1001',
365        'customer_id' => '1001',
366        'order_name01' => '受注情報01',
367        'status' => '3',
368        'payment_date' => '2032-12-31 01:20:30' // 日付が変わっても良いように、遠い未来に設定
369      ),
370      array(
371        'order_id' => '1002',
372        'customer_id' => '1002',
373        'order_name01' => '受注情報02',
374        'payment_id' => '1002',
375        'payment_method' => '支払方法1001',
376        'deliv_id' => '1002'
377      )
378    );
379
380    foreach ($order as $item) {
381      $this->objQuery->insert('dtb_order', $item);
382    }
383  }
384
385 /**
386  * DBに受注一時情報を設定します.
387  */
388  protected function setUpOrderTemp() {
389    $order = array(
390      array(
391        'order_temp_id' => '1001',
392        'customer_id' => '1001',
393        'order_name01' => '受注情報01'
394      ),
395      array(
396        'order_temp_id' => '1002',
397        'customer_id' => '1002',
398        'order_name01' => '受注情報02',
399        'payment_id' => '1002',
400        'payment_method' => '支払方法1001'
401      )
402    );
403
404    foreach ($order as $item) {
405      $this->objQuery->insert('dtb_order_temp', $item);
406    }
407  }
408
409 /**
410  * DBに受注詳細を設定します.
411  */
412 protected function setUpOrderDetail() {
413   $order_detail = array(
414     array(
415       'order_detail_id' => '1001',
416       'order_id' => '1001',
417       'product_id' => '1002',
418       'product_class_id' => '1002',
419       'product_code' => 'pc1002',
420       'product_name' => '製品名1002',
421       'classcategory_name1' => 'cat10021',
422       'classcategory_name2' => 'cat10022',
423       'price' => 3000,
424       'quantity' => 10,
425       'point_rate' => 5
426     ),
427     array(
428       'order_detail_id' => '1002',
429       'order_id' => '1001',
430       'product_id' => '1001',
431       'product_class_id' => '1001',
432       'product_code' => 'pc1001',
433       'product_name' => '製品名1001',
434       'classcategory_name1' => 'cat10011',
435       'classcategory_name2' => 'cat10012',
436       'price' => 4000,
437       'quantity' => 15,
438       'point_rate' => 6
439     ),
440     array(
441       'order_detail_id' => '1003',
442       'order_id' => '1002',
443       'product_id' => '1001',
444       'product_class_id' => '1001'
445     )
446   );
447
448   foreach ($order_detail as $item) {
449     $this->objQuery->insert('dtb_order_detail', $item);
450   }
451 }
452
453}
454
Note: See TracBrowser for help on using the repository browser.