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

Revision 22142, 10.0 KB checked in by shift_hiroko.tamagawa, 9 years ago (diff)

#1978 SC_Helper_Purchaseの単体テスト一部を追加

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