Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 810
0.00% covered (danger)
0.00%
0 / 35
CRAP
0.00% covered (danger)
0.00%
0 / 1
Product_test
0.00% covered (danger)
0.00%
0 / 810
0.00% covered (danger)
0.00%
0 / 35
1332
0.00% covered (danger)
0.00%
0 / 1
 __construct
n/a
0 / 0
n/a
0 / 0
1
 test_PDT1_เข้าหน้าindex
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT2_เข้าหน้าList
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT3_ตารางแสดงข้อมูลการค้นหาPDTแบบไม่กรองข้อมูล
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT4_ตารางแสดงข้อมูลการค้นหาPDTแบบไม่กรองข้อมูลPage2
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT5_ตารางแสดงข้อมูลการค้นหาPDTค้นหาข้อมูลด้วยรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT6_ตารางแสดงข้อมูลการค้นหาPDTค้นหาข้อมูลด้วยชื่อสินค้า
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT7_ตารางแสดงข้อมูลการค้นหาPDTค้นหาข้อมูลด้วยบาร์โค้ด
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT8_เข้าหน้าจอเพิ่มข้อมูลสินค้า
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT9_เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT10_เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้าลำดับที่2_C2
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT11_เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้าลำดับที่3และ4พร้อมกัน_C3
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT12_แก้ไขข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT13_ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT14_ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C2
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT15_ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C3
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT16_แสดงข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT17_แสดงข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT18_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT19_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า_C2
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT20_ลบข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT21_เพิ่มข้อมูลสินค้าแบบสร้างรหัสอัตโนมัติ
0.00% covered (danger)
0.00%
0 / 61
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT22_เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_C1
0.00% covered (danger)
0.00%
0 / 61
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT23_เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_C2
0.00% covered (danger)
0.00%
0 / 61
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT24_เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_รหัสสินค้าซ้ำ
0.00% covered (danger)
0.00%
0 / 61
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT25_เข้าหน้าจอแก้ไขข้อมูลสินค้า
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT26_แก้ไขข้อมูลสินค้า
0.00% covered (danger)
0.00%
0 / 61
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT27_ลบสินค้าหนึ่งรายการ
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT28_ลบสินค้ามากกว่าหนึ่งรายการ
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT29_เข้าหน้าจอแก้ไขข้อมูลสินค้าของรหัส_1506351651031321
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT30_แก้ไขข้อมูลหน่วยสินค้าแบบมีรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 29
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT31_แก้ไขข้อมูลหน่วยสินค้าและอัตราส่วนต่อหน่วยและสีและขนาดแบบมีรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 29
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT32_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบมีรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT33_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าและระบุผู้จำหน่ายด้วยแบบมีรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT34_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าและระบุผู้จำหน่าและที่เก็บยด้วยแบบมีรหัสสินค้า
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 1
2
 test_PDT35_แก้ไขข้อมูลสินค้าหลังการแก้ไขหน่วยและบาร์โค้ดของรหัส_1506351651031321
0.00% covered (danger)
0.00%
0 / 61
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Part of ci-phpunit-test
4 *
5 * @author     Kenji Suzuki <https://github.com/kenjis>
6 * @license    MIT License
7 * @copyright  2015 Kenji Suzuki
8 * @link       https://github.com/kenjis/ci-phpunit-test
9 */
10
11class Product_test extends TestCase
12{
13
14    //.\vendor\bin\phpunit -c .\application\tests .\application\tests\controllers\Product_test.php
15    /** 
16     *@codeCoverageIgnore
17    */
18    public function __construct() {
19        parent::__construct();
20        $ci = &get_instance();
21        $ci->load->database();
22        $ci->load->helper('validator_helper');
23        $_SESSION['tSesUsername'] = '';
24        $_SESSION['tLangID'] = 1;
25        $this->code = substr(md5(uniqid(mt_rand(), true)), 0, 5);
26        $ci->load->model('authen/login/mLogin');
27        $tSQL = "SELECT
28                FTUsrCode,
29                COUNT (FTBchCode) AS nBch
30            FROM
31                TCNTUsrGroup
32            GROUP BY
33                FTUsrCode
34            HAVING
35                COUNT (FTBchCode) > 1";
36        $aResult = $ci->db->query($tSQL);//หาผู้ใช้ที่มีสาขามากกว่า 1 สาขา
37        $aUsrData  = $aResult->row_array();
38     
39        $aDataUsrGroup = $ci->mLogin->FSaMLOGGetDataUserLoginGroup($aUsrData['FTUsrCode']);
40        $tUsrBchCodeMulti     = $ci->mLogin->FStMLOGMakeArrayToString($aDataUsrGroup,'FTBchCode','value');
41        $tUsrBchNameMulti     = $ci->mLogin->FStMLOGMakeArrayToString($aDataUsrGroup,'FTBchName','value');
42        $tUsrShpCodeMulti     = $ci->mLogin->FStMLOGMakeArrayToString($aDataUsrGroup,'FTShpCode','value');
43        $tUsrShpNameMulti     = $ci->mLogin->FStMLOGMakeArrayToString($aDataUsrGroup,'FTShpName','value');
44        $_SESSION =array (
45            '__ci_last_regenerate' => 1674475513,
46            'lang' => 'th',
47            'tLangID' => 1,
48            'tSesUserLogin' => '009',
49            'tSesUsrRoleCodeMulti' => '\'00002\'',
50            'nSesUsrRoleLevel' => 99,
51            'tSesUsrAgnCode' => NULL,
52            'tSesUsrAgnName' => NULL,
53            'tSesUsrMerCode' => NULL,
54            'tSesUsrMerName' => NULL,
55            'tSesUsrBchCodeDefault' => '00001',
56            'tSesUsrBchNameDefault' => 'AdaSoft00001',
57            'tSesUsrBchCodeMulti' => $tUsrBchCodeMulti,
58            'tSesUsrBchNameMulti' => $tUsrBchNameMulti,
59            'nSesUsrBchCount' => 0,
60            'tSesUsrShpCodeDefault' => '00014',
61            'tSesUsrShpNameDefault' => 'รันไทม์ช็อป',
62            'tSesUsrShpCodeMulti' => $tUsrShpCodeMulti,
63            'tSesUsrShpNameMulti' => $tUsrShpNameMulti,
64            'nSesUsrShpCount' => 0,
65            'tSesUsrWahCode' => '00001',
66            'tSesUsrWahName' => 'คลังขาย',
67            'tSesUsrLoginLevel' => 'BCH',
68            'tSesUsrLoginAgency' => 0,
69            'bSesLogIn' => 1,
70            'tSesUserCode' => $aUsrData['FTUsrCode'],
71            'tSesUsername' => $aUsrData['FTUsrCode'],
72            'tSesUsrDptName' => NULL,
73            'tSesUsrDptCode' => NULL,
74            'tSesUsrUsername' => 'Adasoft',
75            'tSesUsrImagePerson' => NULL,
76            'tSesUsrInfo' => 
77            array (
78              'FTUsrStaActive' => 1,
79              'FTUsrLogType' => 1,
80              'FTStaError' => 0,
81              'FTUsrCode' => $aUsrData['FTUsrCode'],
82              'FTUsrName' => 'Adasoft',
83              'FTDptCode' => NULL,
84              'FTDptName' => NULL,
85              'FTImgObj' => NULL,
86            ),
87            'tSesUsrGroup' => 
88            array (
89              0 => 
90              array (
91                'FTUsrCode' => '00002',
92                'FTAgnCode' => NULL,
93                'FTAgnName' => NULL,
94                'FTBchCode' => NULL,
95                'FTBchName' => NULL,
96                'FTShpCode' => NULL,
97                'FTShpName' => NULL,
98                'FTMerCode' => NULL,
99                'FTMerName' => NULL,
100                'FTWahCode' => NULL,
101                'FTWahName' => NULL,
102                'FTLoginLevel' => 'BCH',
103                'FTStaLoginAgn' => 0,
104              ),
105            ),
106            'tSesSessionID' => '0000220230123185822',
107            'tSesSessionDate' => '2023-01-23 18:58:22',
108            'tLangEdit' => 1,
109            'bIsHaveAgn' => NULL,
110            'tSesUsrLevel' => 'BCH',
111            'tSesUsrRoleSpcCodeMulti' => '\'00002\',\'00003\',\'00004\',\'00005\',\'00006\',\'00007\',\'00008\',\'00009\',\'00010\',\'00011\',\'00012\',\'00013\',\'00014\',\'00016\',\'00017\',\'00018\',\'00019\',\'00020\',\'00021\',\'00022\',\'00023\',\'00024\',\'00025\',\'00026\',\'00027\',\'00028\',\'00029\',\'00030\',\'00031\',\'00032\',\'00033\',\'00034\',\'00035\',\'00036\',\'00037\',\'00038\'',
112            'bShpEnabled' => 1,
113            'bAgnEnabled' => 1,
114            'bLockerEnabled' => NULL,
115            'bPdtFasionEnabled' => NULL,
116            'tSesHQBchCode' => '00001',
117            'bSesRegStaLicense' => 1,
118            'tSesCstKey' => '52a8a4705e6c',
119            'bSesRegStaBuyPackage' => 1,
120        );
121
122
123    }
124
125    // Product
126// --$route['product/(:any)/(:any)']        = 'product/product/cProduct/index/$1/$2';
127// --$route['productMain']                  = 'product/product/cProduct/FSvCPDTCallPageMain';
128// --$route['productDataTable']             = 'product/product/cProduct/FSvCPDTCallPageDataTable';
129// $route['productAdvTableShwColList']    = 'product/product/cProduct/FSoCPDTAdvTableShwColList';
130// $route['productAdvTableShwColSave']    = 'product/product/cProduct/FSnCPDTAdvTableShwColSave';
131// --$route['productPageAdd']               = 'product/product/cProduct/FSoCPDTCallPageAdd';
132// --$route['productPageEdit']              = 'product/product/cProduct/FSoCPDTCallPageEdit';
133// --$route['productAddPackSizeUnit']       = 'product/product/cProduct/FSoCPDTPackSizeAdd';
134// --$route['productUpdatePackSizeUnit']    = 'product/product/cProduct/FSoCPDTPackSizeUpdate';
135// $route['productUpdateUnit']            = 'product/product/cProduct/FSoCPDTUpdateUnit';
136// --$route['productGetPackSizeUnit']       = 'product/product/cProduct/FSoCPDTPackSizeDataTable';
137// --$route['productDelPackSizeUnit']       = 'product/product/cProduct/FSoCPDTPackSizeDelete';
138// $route['productGetEvnNotSale']         = 'product/product/cProduct/FSoCPDTEvnNotSaleDataTable';
139// $route['productGetDataPdtSet']         = 'product/product/cProduct/FSoCPDTPdtSetDataTable';
140// $route['productChkBarCodeDup']         = 'product/product/cProduct/FSoCPDTChkBarcodeDup';
141// --$route['productEventAdd']              = 'product/product/cProduct/FSoCPDTAddEvent';
142// --$route['productEventEdit']             = 'product/product/cProduct/FSoCPDTEditEvent';
143// --$route['productEventDelete']           = 'product/product/cProduct/FSoCPDTDeleteEvent';
144// --$route['productGetDataBarCode']        = 'product/product/cProduct/FSoCPDTBarCodeDataTable';
145// --$route['productUpdateBarCode']         = 'product/product/cProduct/FSoCPDTUpdateBarCode';
146// --$route['productDeleteBarCode']         = 'product/product/cProduct/FSoCPDTDeleteBarCode';
147
148    /* ---------------------- PDT -------------------- */
149    // PDT1.ทดสอบเข้าหน้า index 
150    // Create by : IcePun [19/04/2023]
151    public function test_PDT1_เข้าหน้าindex(){
152        print 'PDT1.เข้าหน้า index สำเร็จ\n';
153        $oOutput = $this->request(
154            'POST',
155            'product/product/cProduct/index/0/0'
156        );
157        $this->assertStringContainsString('odvPdtMainMenu', $oOutput);
158        $this->assertResponseCode(200);
159    }
160
161    // PDT2.ทดสอบเข้าหน้า List 
162    // Create by : IcePun [19/04/2023]
163    public function test_PDT2_เข้าหน้าList(){
164        print 'PDT2.เข้าหน้า List สำเร็จ\n';
165        $oOutput = $this->request(
166            'POST',
167            'product/product/cProduct/FSvCPDTCallPageMain',
168        );
169        $this->assertStringContainsString('oetSearchProduct', $oOutput);
170        $this->assertResponseCode(200);
171    }
172
173    // PDT3.โหลดข้อมูล DataTable PDT แบบไม่กรองข้อมูล
174    // Create by : IcePun [19/04/2023]
175    public function test_PDT3_ตารางแสดงข้อมูลการค้นหาPDTแบบไม่กรองข้อมูล(){
176        print 'PDT3.โหลดข้อมูล DataTable PDT แบบไม่กรองข้อมูล สำเร็จ\n';
177        $aData = array(
178            'tSearchAll'            => '',
179            'tPdtForSys'            => '1',
180            'nSearchProductType'    => '1',
181            'nPageCurrent'          => '1',
182          );
183        $oOutput = $this->request(
184            'POST',
185            'product/product/cProduct/FSvCPDTCallPageDataTable',
186            $aData
187        );
188        $this->assertStringContainsString('odvDataTableProduct', $oOutput);
189        $this->assertResponseCode(200);
190    }
191
192    // PDT4.โหลดข้อมูล DataTable PDT แบบไม่กรองข้อมูลPage2
193    // Create by : IcePun [19/04/2023]
194    public function test_PDT4_ตารางแสดงข้อมูลการค้นหาPDTแบบไม่กรองข้อมูลPage2(){
195        print 'PDT4.โหลดข้อมูล DataTable PDT แบบไม่กรองข้อมูลPage2 สำเร็จ\n';
196        $aData = array(
197            'tSearchAll'            => '',
198            'tPdtForSys'            => '1',
199            'nSearchProductType'    => '1',
200            'nPageCurrent'          => '2',
201          );
202        $oOutput = $this->request(
203            'POST',
204            'product/product/cProduct/FSvCPDTCallPageDataTable',
205            $aData
206        );
207        $this->assertStringContainsString('odvDataTableProduct', $oOutput);
208        $this->assertResponseCode(200);
209    }
210
211    // PDT5.โหลดข้อมูล DataTable PDT ค้นหาข้อมูลด้วยรหัสสินค้า
212    // Create by : IcePun [19/04/2023]
213    public function test_PDT5_ตารางแสดงข้อมูลการค้นหาPDTค้นหาข้อมูลด้วยรหัสสินค้า(){
214        print 'PDT5.โหลดข้อมูล DataTable PDT ค้นหาข้อมูลด้วยรหัสสินค้า สำเร็จ\n';
215        $aData = array(
216            'tSearchAll'            => '00051',
217            'tPdtForSys'            => '1',
218            'nSearchProductType'    => '1',
219            'nPageCurrent'          => '1',
220          );
221        $oOutput = $this->request(
222            'POST',
223            'product/product/cProduct/FSvCPDTCallPageDataTable',
224            $aData
225        );
226        $this->assertStringContainsString('odvDataTableProduct', $oOutput);
227        $this->assertResponseCode(200);
228    }
229
230    // PDT6.โหลดข้อมูล DataTable PDT ค้นหาข้อมูลด้วยชื่อสินค้า
231    // Create by : IcePun [19/04/2023]
232    public function test_PDT6_ตารางแสดงข้อมูลการค้นหาPDTค้นหาข้อมูลด้วยชื่อสินค้า(){
233        print 'PDT6.โหลดข้อมูล DataTable PDT ค้นหาข้อมูลด้วยชื่อสินค้า สำเร็จ\n';
234        $aData = array(
235            'tSearchAll'            => 'กล้วยหอมไม่คิดภาษี',
236            'tPdtForSys'            => '1',
237            'nSearchProductType'    => '2',
238            'nPageCurrent'          => '1',
239          );
240        $oOutput = $this->request(
241            'POST',
242            'product/product/cProduct/FSvCPDTCallPageDataTable',
243            $aData
244        );
245        $this->assertStringContainsString('odvDataTableProduct', $oOutput);
246        $this->assertResponseCode(200);
247    }
248
249    // PDT7.โหลดข้อมูล DataTable PDT ค้นหาข้อมูลด้วยบาร์โค้ด
250    // Create by : IcePun [19/04/2023]
251    public function test_PDT7_ตารางแสดงข้อมูลการค้นหาPDTค้นหาข้อมูลด้วยบาร์โค้ด(){
252        print 'PDT7.โหลดข้อมูล DataTable PDT ค้นหาข้อมูลด้วยบาร์โค้ด สำเร็จ\n';
253        $aData = array(
254            'tSearchAll'            => '0000743203',
255            'tPdtForSys'            => '1',
256            'nSearchProductType'    => '3',
257            'nPageCurrent'          => '1',
258          );
259        $oOutput = $this->request(
260            'POST',
261            'product/product/cProduct/FSvCPDTCallPageDataTable',
262            $aData
263        );
264        $this->assertStringContainsString('odvDataTableProduct', $oOutput);
265        $this->assertResponseCode(200);
266    }
267
268    // PDT8.เข้าหน้าจอเพิ่มข้อมูลสินค้า
269    // Create by : IcePun [19/04/2023]
270    public function test_PDT8_เข้าหน้าจอเพิ่มข้อมูลสินค้า(){
271        print 'PDT8.เข้าหน้าจอเพิ่มข้อมูลสินค้า สำเร็จ\n';
272    
273        $oOutput = $this->request(
274            'POST',
275            'product/product/cProduct/FSoCPDTCallPageAdd'
276        );
277        $this->assertStringContainsString('odvPdtRowNavMenu', $oOutput);
278        $this->assertResponseCode(200);
279        ob_end_clean();
280    }
281
282    // PDT9.เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1
283    // Create by : IcePun [19/04/2023]
284    public function test_PDT9_เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1(){
285        print 'PDT9.เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1 สำเร็จ\n';
286        $aData = array(
287                'FTPdtCode'     => '',
288                'aPunCode'      => array(
289                    '0' => array('00021','ตัน')
290                    )
291                );
292        $oOutput = $this->request(
293            'POST',
294            'product/product/cProduct/FSoCPDTPackSizeAdd',
295            $aData
296        );
297        $this->assertStringContainsString('', $oOutput);
298        $this->assertResponseCode(200);
299    }
300
301    // PDT10.เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้าลำดับที่2_C2
302    // Create by : IcePun [19/04/2023]
303    public function test_PDT10_เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้าลำดับที่2_C2(){
304        print 'PDT10.เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้าลำดับที่2_C2 สำเร็จ\n';
305        $aData = array(
306                'FTPdtCode'     => '',
307                'aPunCode'      => array(
308                    '0' => array('00022','มากกว่าตัน')
309                ),
310                'paDataUnitFact' => array('1.00'),
311                );
312        $oOutput = $this->request(
313            'POST',
314            'product/product/cProduct/FSoCPDTPackSizeAdd',
315            $aData
316        );
317        $this->assertStringContainsString('', $oOutput);
318        $this->assertResponseCode(200);
319    }
320
321    // PDT11.เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้าลำดับที่3และ4พร้อมกัน_C3
322    // Create by : IcePun [19/04/2023]
323    public function test_PDT11_เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้าลำดับที่3และ4พร้อมกัน_C3(){
324        print 'PDT11.เพิ่มข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้าลำดับที่3และ4พร้อมกัน_C3 สำเร็จ\n';
325        $aData = array(
326                'FTPdtCode'     => '',
327                'aPunCode'      => array(
328                    '0' => array('00020','คู่'),
329                    '1' => array('00028','กระป๋อง (D)'),
330                ),
331                'paDataUnitFact' => array('1.00','2.00'),
332                );
333        $oOutput = $this->request(
334            'POST',
335            'product/product/cProduct/FSoCPDTPackSizeAdd',
336            $aData
337        );
338        $this->assertStringContainsString('', $oOutput);
339        $this->assertResponseCode(200);
340    }
341
342    // PDT12.แก้ไขข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า
343    // Create by : IcePun [19/04/2023]
344    public function test_PDT12_แก้ไขข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า(){
345        print 'PDT12.แก้ไขข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า สำเร็จ\n';
346        $aData = array(
347                    'FTPdtCode'         => ' ',
348                    'tUnitOld'          => '00020',
349                    'FTPunCode'         => '00020',
350                    'FCPdtUnitFact'     => '5',
351                    'pnUpdateType'      => '2',
352                );
353        $oOutput = $this->request(
354            'POST',
355            'product/product/cProduct/FSoCPDTPackSizeUpdate',
356            $aData
357        );
358        $this->assertStringContainsString('Update Product Success', $oOutput);
359        $this->assertResponseCode(200);
360    }
361
362    // PDT13.ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1
363    // Create by : IcePun [19/04/2023]
364    public function test_PDT13_ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1(){
365        print 'PDT13.ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1 สำเร็จ\n';
366        $aData = array(
367                    'FTPunCode'         => '00028',
368                    'FTPdtCode'         => '',
369                    'pnTypeAction'      => '1',
370                );
371        $oOutput = $this->request(
372            'POST',
373            'product/product/cProduct/FSoCPDTPackSizeDelete',
374            $aData
375        );
376        $this->assertStringContainsString('', $oOutput);
377        $this->assertResponseCode(200);
378    }
379
380    // PDT14.ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C2
381    // Create by : IcePun [19/04/2023]
382    public function test_PDT14_ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C2(){
383        print 'PDT14.ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C2 สำเร็จ\n';
384        $aData = array(
385                    'FTPunCode'         => '00020',
386                    'FTPdtCode'         => '',
387                    'pnTypeAction'      => '1',
388                );
389        $oOutput = $this->request(
390            'POST',
391            'product/product/cProduct/FSoCPDTPackSizeDelete',
392            $aData
393        );
394        $this->assertStringContainsString('', $oOutput);
395        $this->assertResponseCode(200);
396    }
397
398    // PDT15.ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C3
399    // Create by : IcePun [19/04/2023]
400    public function test_PDT15_ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C3(){
401        print 'PDT15.ลบข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า_C3 สำเร็จ\n';
402        $aData = array(
403                    'FTPunCode'         => '00022',
404                    'FTPdtCode'         => '',
405                    'pnTypeAction'      => '1',
406                );
407        $oOutput = $this->request(
408            'POST',
409            'product/product/cProduct/FSoCPDTPackSizeDelete',
410            $aData
411        );
412        $this->assertStringContainsString('', $oOutput);
413        $this->assertResponseCode(200);
414    }
415
416    // PDT16.แสดงข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า
417    // Create by : IcePun [19/04/2023]
418    public function test_PDT16_แสดงข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า(){
419        print 'PDT16.แสดงข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า สำเร็จ\n';
420        $aData = array(
421                    'FTPdtCode'         => '',
422                    'nPdtForSystem'     => '1'
423                );
424        $oOutput = $this->request(
425            'POST',
426            'product/product/cProduct/FSoCPDTPackSizeDataTable',
427            $aData
428        );
429        $this->assertStringContainsString('', $oOutput);
430        $this->assertResponseCode(200);
431    }
432
433    // PDT17.แสดงข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า
434    // Create by : IcePun [19/04/2023]
435    public function test_PDT17_แสดงข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า(){
436        print 'PDT17.แสดงข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า สำเร็จ\n';
437        $aData = array(
438                    'FTPdtCode'         => '',
439                    'ptPunCode'         => '00025'
440                );
441        $oOutput = $this->request(
442            'POST',
443            'product/product/cProduct/FSoCPDTBarCodeDataTable',
444            $aData
445        );
446        $this->assertStringContainsString('', $oOutput);
447        $this->assertResponseCode(200);
448    }
449
450    // PDT18.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1
451    // Create by : IcePun [19/04/2023]
452    public function test_PDT18_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1(){
453        print 'PDT18.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า_C1 สำเร็จ\n';
454        $aData = array(
455                    'FTPdtCode'             => '',
456                    'FTBarCode'             => 'BarPHPUnit001',
457                    'tOldBarCode'           => '',
458                    'FTPunCode'             => '00025',
459                    'FTPlcCode'             => '',
460                    'FTPlcName'             => '',
461                    'FTSplCode'             => '',
462                    'FTSplName'             => '',
463                    'StatusAddEdit'         => '0',
464                    'FTBarStaUse'           => '1',
465                    'FTBarStaAlwSale'       => '1',
466                    'FTSplStaAlwPO'         => '1',
467                );
468        $oOutput = $this->request(
469            'POST',
470            'product/product/cProduct/FSoCPDTUpdateBarCode',
471            $aData
472        );
473        $this->assertStringContainsString('Success', $oOutput);
474        $this->assertResponseCode(200);
475    }
476
477    // PDT19.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า_C2
478    // Create by : IcePun [19/04/2023]
479    public function test_PDT19_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า_C2(){
480        print 'PDT19.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า_C2 สำเร็จ\n';
481        $aData = array(
482                    'FTPdtCode'             => '',
483                    'FTBarCode'             => 'BarPHPUnit002',
484                    'tOldBarCode'           => '',
485                    'FTPunCode'             => '00025',
486                    'FTPlcCode'             => '',
487                    'FTPlcName'             => '',
488                    'FTSplCode'             => '',
489                    'FTSplName'             => '',
490                    'StatusAddEdit'         => '0',
491                    'FTBarStaUse'           => '1',
492                    'FTBarStaAlwSale'       => '1',
493                    'FTSplStaAlwPO'         => '1',
494                );
495        $oOutput = $this->request(
496            'POST',
497            'product/product/cProduct/FSoCPDTUpdateBarCode',
498            $aData
499        );
500        $this->assertStringContainsString('Success', $oOutput);
501        $this->assertResponseCode(200);
502    }
503
504    // PDT20.ลบข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า
505    // Create by : IcePun [19/04/2023]
506    public function test_PDT20_ลบข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า(){
507        print 'PDT20.ลบข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า สำเร็จ\n';
508        $aData = array(
509                    'FTBarCode'     => 'BarPHPUnit002',
510                    'FTPdtCode'     => '',
511                    'FTPunCode'     => '00025',
512                );
513        $oOutput = $this->request(
514            'POST',
515            'product/product/cProduct/FSoCPDTDeleteBarCode',
516            $aData
517        );
518        $this->assertStringContainsString('', $oOutput);
519        $this->assertResponseCode(200);
520    }
521
522    // PDT21.เพิ่มข้อมูลสินค้าแบบสร้างรหัสอัตโนมัติ
523    // Create by : IcePun [19/04/2023]
524    public function test_PDT21_เพิ่มข้อมูลสินค้าแบบสร้างรหัสอัตโนมัติ(){
525        print 'PDT21.เพิ่มข้อมูลสินค้าแบบสร้างรหัสอัตโนมัติ สำเร็จ\n';
526        $aData = array(
527                    'aPdtDataInfo1' => array(
528                        'tPdtType'          => '1',
529                        'tPdtSaleType'      => '1',
530                        'tPdtColor'         => '#ffb7b2',
531                        'tImgObj'           => '',
532                        'tChecked'          => '0',
533                        'tIsAutoGenCode'    => '1',
534                        'tPdtCode'          => '',
535                        'tPdtStkCode'       => '',
536                        'tPdtName'          => 'สินค้าทดสอบPHPUnit',
537                        'tPdtNameOth'       => '',
538                        'tPdtNameABB'       => '',
539                        'tPdtVatCode'       => '00001',
540                        'nPdtStaVatBuy'     => '1',
541                        'nPdtStaVat'        => '1',
542                        'nPdtStaPoint'      => '1',
543                        'nPdtStaActive'     => '1',
544                        'nPdtStkControl'    => '1',
545                        'nPdtStaAlwReturn'  => '1',
546                        'nPdtStaAlwDis'     => '1',
547                    ),
548                    'aPdtDataInfo2' => array(
549                        'tPdtAgnCode'       => '',
550                        'tPdtBchCode'       => '',
551                        'tPdtMerCode'       => '',
552                        'tPdtMgpCode'       => '',
553                        'tPdtShpCode'       => '',
554                        'tPdtPgpChain'      => '',
555                        'tPdtPtyCode'       => '',
556                        'tPdtPbnCode'       => '',
557                        'tPdtPmoCode'       => '',
558                        'tPdtTcgCode'       => '',
559                        'tPdtSaleStart'     => '2023-04-19',
560                        'tPdtSaleStop'      => '2024-04-19',
561                        'tPdtQtyOrdBuy'     => '0.00',
562                        'tPdtMax'           => '0.00',
563                        'tPdtMin'           => '0.00',
564                        'tPdtCostDef'       => '0.00',
565                        'tPdtCostStd'       => '0.00',
566                        'tPdtRmk'           => '',
567                        'tPdtForSystem'     => '1',
568                        'tPdtConditionControlCode'  => '',
569                    ),
570                    'aPdtDataRental' => array(
571                        'tRetPdtType'       => '',
572                        'tRetPdtSta'        => '',
573                        'tRetPdtStaPay'     => '',
574                        'tRetPdtDeposit'    => '',
575                        'tRetPdtShpCode'    => '',
576                    ),
577                    'pnTypeAdd'      => '1',
578                );
579        $oOutput = $this->request(
580            'POST',
581            'product/product/cProduct/FSoCPDTAddEvent',
582            $aData
583        );
584        $this->assertStringContainsString('Success Add Event', $oOutput);
585        $this->assertResponseCode(200);
586    }
587
588    // PDT22.เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_C1
589    // Create by : IcePun [19/04/2023]
590    public function test_PDT22_เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_C1(){
591        print 'PDT22.เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_C1 สำเร็จ\n';
592        $aData = array(
593                    'aPdtDataInfo1' => array(
594                        'tPdtType'              => '1',
595                        'tPdtSaleType'          => '1',
596                        'tPdtColor'             => '#b5ead7',
597                        'tImgObj'               => '',
598                        'tChecked'              => '0',
599                        'tIsAutoGenCode'        => '2',
600                        'tPdtCode'              => 'PHPUnit001',
601                        'tPdtStkCode'           => 'PHPUnit001',
602                        'tPdtName'              => 'สร้างรหัสเองPHPUnit',
603                        'tPdtNameOth'           => '',
604                        'tPdtNameABB'           => '',
605                        'tPdtVatCode'           => '00001',
606                        'nPdtStaVatBuy'         => '1',
607                        'nPdtStaVat'            => '1',
608                        'nPdtStaPoint'          => '1',
609                        'nPdtStaActive'         => '1',
610                        'nPdtStkControl'        => '1',
611                        'nPdtStaAlwReturn'      => '1',
612                        'nPdtStaAlwDis'         => '1',
613                    ),
614                    'aPdtDataInfo2' => array(
615                        'tPdtAgnCode'           => '',
616                        'tPdtBchCode'           => '',
617                        'tPdtMerCode'           => '',
618                        'tPdtMgpCode'           => '',
619                        'tPdtShpCode'           => '',
620                        'tPdtPgpChain'          => '',
621                        'tPdtPtyCode'           => '',
622                        'tPdtPbnCode'           => '',
623                        'tPdtPmoCode'           => '',
624                        'tPdtTcgCode'           => '',
625                        'tPdtSaleStart'         => '2023-04-20',
626                        'tPdtSaleStop'          => '2024-04-20',
627                        'tPdtQtyOrdBuy'         => '0.00',
628                        'tPdtMax'               => '0.00',
629                        'tPdtMin'               => '0.00',
630                        'tPdtCostDef'           => '0.00',
631                        'tPdtCostStd'           => '0.00',
632                        'tPdtRmk'               => '',
633                        'tPdtForSystem'         => '1',
634                        'tPdtConditionControlCode'      => '',
635                    ),
636                    'aPdtDataRental' => array(
637                        'tRetPdtType'           => '',
638                        'tRetPdtSta'            => '',
639                        'tRetPdtStaPay'         => '',
640                        'tRetPdtDeposit'        => '',
641                        'tRetPdtShpCode'        => '',
642                    ),
643                    'pnTypeAdd'     => '1',
644                );
645        $oOutput = $this->request(
646            'POST',
647            'product/product/cProduct/FSoCPDTAddEvent',
648            $aData
649        );
650        $this->assertStringContainsString('Success Add Event', $oOutput);
651        $this->assertResponseCode(200);
652    }
653
654    // PDT23.เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_C2
655    // Create by : IcePun [19/04/2023]
656    public function test_PDT23_เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_C2(){
657        print 'PDT23.เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_C2 สำเร็จ\n';
658        $aData = array(
659                    'aPdtDataInfo1' => array(
660                        'tPdtType'              => '1',
661                        'tPdtSaleType'          => '1',
662                        'tPdtColor'             => '#b5ead7',
663                        'tImgObj'               => '',
664                        'tChecked'              => '0',
665                        'tIsAutoGenCode'        => '2',
666                        'tPdtCode'              => 'PHPUnit002',
667                        'tPdtStkCode'           => 'PHPUnit002',
668                        'tPdtName'              => 'สร้างรหัสเองPHPUnit',
669                        'tPdtNameOth'           => '',
670                        'tPdtNameABB'           => '',
671                        'tPdtVatCode'           => '00001',
672                        'nPdtStaVatBuy'         => '1',
673                        'nPdtStaVat'            => '1',
674                        'nPdtStaPoint'          => '1',
675                        'nPdtStaActive'         => '1',
676                        'nPdtStkControl'        => '1',
677                        'nPdtStaAlwReturn'      => '1',
678                        'nPdtStaAlwDis'         => '1',
679                    ),
680                    'aPdtDataInfo2' => array(
681                        'tPdtAgnCode'           => '',
682                        'tPdtBchCode'           => '',
683                        'tPdtMerCode'           => '',
684                        'tPdtMgpCode'           => '',
685                        'tPdtShpCode'           => '',
686                        'tPdtPgpChain'          => '',
687                        'tPdtPtyCode'           => '',
688                        'tPdtPbnCode'           => '',
689                        'tPdtPmoCode'           => '',
690                        'tPdtTcgCode'           => '',
691                        'tPdtSaleStart'         => '2023-04-20',
692                        'tPdtSaleStop'          => '2024-04-20',
693                        'tPdtQtyOrdBuy'         => '0.00',
694                        'tPdtMax'               => '0.00',
695                        'tPdtMin'               => '0.00',
696                        'tPdtCostDef'           => '0.00',
697                        'tPdtCostStd'           => '0.00',
698                        'tPdtRmk'               => '',
699                        'tPdtForSystem'         => '1',
700                        'tPdtConditionControlCode'      => '',
701                    ),
702                    'aPdtDataRental' => array(
703                        'tRetPdtType'           => '',
704                        'tRetPdtSta'            => '',
705                        'tRetPdtStaPay'         => '',
706                        'tRetPdtDeposit'        => '',
707                        'tRetPdtShpCode'        => '',
708                    ),
709                    'pnTypeAdd'     => '1',
710                );
711        $oOutput = $this->request(
712            'POST',
713            'product/product/cProduct/FSoCPDTAddEvent',
714            $aData
715        );
716        $this->assertStringContainsString('Success Add Event', $oOutput);
717        $this->assertResponseCode(200);
718    }
719
720    // PDT24.เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_รหัสสินค้าซ้ำ
721    // Create by : IcePun [19/04/2023]
722    public function test_PDT24_เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_รหัสสินค้าซ้ำ(){
723        print 'PDT24.เพิ่มข้อมูลสินค้าแบบสร้างรหัสสินค้าเอง_รหัสสินค้าซ้ำ สำเร็จ\n';
724        $aData = array(
725                    'aPdtDataInfo1' => array(
726                        'tPdtType'              => '1',
727                        'tPdtSaleType'          => '1',
728                        'tPdtColor'             => '#b5ead7',
729                        'tImgObj'               => '',
730                        'tChecked'              => '0',
731                        'tIsAutoGenCode'        => '2',
732                        'tPdtCode'              => 'PHPUnit002',
733                        'tPdtStkCode'           => 'PHPUnit002',
734                        'tPdtName'              => 'สร้างรหัสเองPHPUnit',
735                        'tPdtNameOth'           => '',
736                        'tPdtNameABB'           => '',
737                        'tPdtVatCode'           => '00001',
738                        'nPdtStaVatBuy'         => '1',
739                        'nPdtStaVat'            => '1',
740                        'nPdtStaPoint'          => '1',
741                        'nPdtStaActive'         => '1',
742                        'nPdtStkControl'        => '1',
743                        'nPdtStaAlwReturn'      => '1',
744                        'nPdtStaAlwDis'         => '1',
745                    ),
746                    'aPdtDataInfo2' => array(
747                        'tPdtAgnCode'           => '',
748                        'tPdtBchCode'           => '',
749                        'tPdtMerCode'           => '',
750                        'tPdtMgpCode'           => '',
751                        'tPdtShpCode'           => '',
752                        'tPdtPgpChain'          => '',
753                        'tPdtPtyCode'           => '',
754                        'tPdtPbnCode'           => '',
755                        'tPdtPmoCode'           => '',
756                        'tPdtTcgCode'           => '',
757                        'tPdtSaleStart'         => '2023-04-20',
758                        'tPdtSaleStop'          => '2024-04-20',
759                        'tPdtQtyOrdBuy'         => '0.00',
760                        'tPdtMax'               => '0.00',
761                        'tPdtMin'               => '0.00',
762                        'tPdtCostDef'           => '0.00',
763                        'tPdtCostStd'           => '0.00',
764                        'tPdtRmk'               => '',
765                        'tPdtForSystem'         => '1',
766                        'tPdtConditionControlCode'      => '',
767                    ),
768                    'aPdtDataRental' => array(
769                        'tRetPdtType'           => '',
770                        'tRetPdtSta'            => '',
771                        'tRetPdtStaPay'         => '',
772                        'tRetPdtDeposit'        => '',
773                        'tRetPdtShpCode'        => '',
774                    ),
775                    'pnTypeAdd'     => '1',
776                );
777        $oOutput = $this->request(
778            'POST',
779            'product/product/cProduct/FSoCPDTAddEvent',
780            $aData
781        );
782        $this->assertStringContainsString('Data Product Is Duplicate', $oOutput);
783        $this->assertResponseCode(200);
784    }
785    
786    // PDT25.เข้าหน้าจอแก้ไขข้อมูลสินค้า
787    // Create by : IcePun [19/04/2023]
788    public function test_PDT25_เข้าหน้าจอแก้ไขข้อมูลสินค้า(){
789        print 'PDT25.เข้าหน้าจอแก้ไขข้อมูลสินค้า สำเร็จ\n';
790        $aData = array(
791                'tPdtCode'     => 'PHPUnit002'
792                );
793        $oOutput = $this->request(
794            'POST',
795            'product/product/cProduct/FSoCPDTCallPageEdit',
796            $aData
797        );
798        $this->assertStringContainsString('odvPdtRowNavMenu', $oOutput);
799        $this->assertResponseCode(200);
800        ob_end_clean();
801    }
802
803    // PDT26.แก้ไขข้อมูลสินค้า
804    // Create by : IcePun [19/04/2023]
805    public function test_PDT26_แก้ไขข้อมูลสินค้า(){
806        print 'PDT26.แก้ไขข้อมูลสินค้า สำเร็จ\n';
807        $aData = array(
808                    'aPdtDataInfo1' => array(
809                        'tPdtType'              => '1',
810                        'tPdtSaleType'          => '1',
811                        'tPdtColor'             => '#b5ead7',
812                        'tImgObj'               => '#b5ead7',
813                        'tChecked'              => '0',
814                        'tIsAutoGenCode'        => '1',
815                        'tPdtCode'              => 'PHPUnit002',
816                        'tPdtStkCode'           => 'PHPUnit002',
817                        'tPdtName'              => 'สร้างรหัสเองPHPUnitแก้ไข',
818                        'tPdtNameOth'           => '',
819                        'tPdtNameABB'           => '',
820                        'tPdtVatCode'           => '00001',
821                        'nPdtStaVatBuy'         => '1',
822                        'nPdtStaVat'            => '1',
823                        'nPdtStaPoint'          => '1',
824                        'nPdtStaActive'         => '1',
825                        'nPdtStkControl'        => '1',
826                        'nPdtStaAlwReturn'      => '1',
827                        'nPdtStaAlwDis'         => '1',
828                    ),
829                    'aPdtDataInfo2' => array(
830                        'tPdtAgnCode'           => '',
831                        'tPdtBchCode'           => '',
832                        'tPdtMerCode'           => '',
833                        'tPdtMgpCode'           => '',
834                        'tPdtShpCode'           => '',
835                        'tPdtPgpChain'          => '',
836                        'tPdtPtyCode'           => '',
837                        'tPdtPbnCode'           => '',
838                        'tPdtPmoCode'           => '',
839                        'tPdtTcgCode'           => '',
840                        'tPdtSaleStart'         => '2023-04-20',
841                        'tPdtSaleStop'          => '2024-04-20',
842                        'tPdtQtyOrdBuy'         => '0.00',
843                        'tPdtMax'               => '0.00',
844                        'tPdtMin'               => '0.00',
845                        'tPdtCostDef'           => '0.00',
846                        'tPdtCostStd'           => '0.00',
847                        'tPdtRmk'               => '',
848                        'tPdtForSystem'         => '1',
849                        'tPdtConditionControlCode'  => '',
850                    ),
851                    'aPdtDataRental' => array(
852                        'tRetPdtType'           => '',
853                        'tRetPdtSta'            => '',
854                        'tRetPdtStaPay'         => '',
855                        'tRetPdtDeposit'        => '',
856                        'tRetPdtShpCode'        => '',
857                    ),
858                    'pnTypeAdd'     => '1',
859                );
860        $oOutput = $this->request(
861            'POST',
862            'product/product/cProduct/FSoCPDTEditEvent',
863            $aData
864        );
865        $this->assertStringContainsString('Success Add Event', $oOutput);
866        $this->assertResponseCode(200);
867    }
868
869    // PDT27.ลบสินค้าหนึ่งรายการ
870    // Create by : IcePun [19/04/2023]
871    public function test_PDT27_ลบสินค้าหนึ่งรายการ(){
872        print 'PDT27.ลบสินค้าหนึ่งรายการ สำเร็จ\n';
873        $aData = array(
874                    'tIDCode'           => '00182',
875                    'tPdtForSystem'     => '1',
876                );
877        $oOutput = $this->request(
878            'POST',
879            'product/product/cProduct/FSoCPDTDeleteEvent',
880            $aData
881        );
882        $this->assertStringContainsString('Delete Product Success.', $oOutput);
883        $this->assertResponseCode(200);
884    }
885
886    // PDT28.ลบสินค้ามากกว่าหนึ่งรายการ
887    // Create by : IcePun [19/04/2023]
888    public function test_PDT28_ลบสินค้ามากกว่าหนึ่งรายการ(){
889        print 'PDT28.ลบสินค้ามากกว่าหนึ่งรายการ สำเร็จ\n';
890        $aData = array(
891                    'tIDCode'           => array('PHPUnit001','PHPUnit002'),
892                    'tPdtForSystem'     => '1',
893                );
894        $oOutput = $this->request(
895            'POST',
896            'product/product/cProduct/FSoCPDTDeleteEvent',
897            $aData
898        );
899        $this->assertStringContainsString('Delete Product Success.', $oOutput);
900        $this->assertResponseCode(200);
901    }
902
903    // PDT29.เข้าหน้าจอแก้ไขข้อมูลสินค้า
904    public function test_PDT29_เข้าหน้าจอแก้ไขข้อมูลสินค้าของรหัส_1506351651031321(){
905        print 'PDT29.เข้าหน้าจอแก้ไขข้อมูลสินค้าของรหัส_1506351651031321 สำเร็จ\n';
906        $aData = array(
907                'tPdtCode'     => '1506351651031321'
908                );
909        $oOutput = $this->request(
910            'POST',
911            'product/product/cProduct/FSoCPDTCallPageEdit',
912            $aData
913        );
914        $this->assertStringContainsString('odvPdtRowNavMenu', $oOutput);
915        $this->assertResponseCode(200);
916        ob_end_clean();
917    }
918
919
920    // PDT30.แก้ไขข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า
921    public function test_PDT30_แก้ไขข้อมูลหน่วยสินค้าแบบมีรหัสสินค้า(){
922        print 'PDT30.แก้ไขข้อมูลหน่วยสินค้าแบบมีรหัสสินค้า สำเร็จ\n';
923        $aData = array(
924                    'FTPdtCode' => '1506351651031321',
925                    'FTPunCode' => '00028',
926                    'FCPdtUnitFact' => '2.00',
927                    'FTPdtGrade' => '',
928                    'FCPdtWeight' => '0.00',
929                    'FTClrCode' => '',
930                    'FTClrName' => '',
931                    'FTPszCode' => '',
932                    'FTPszName' => '',
933                    'FTPdtUnitDim' => ';;',
934                    'FTPdtPkgDim' => ';;',
935                    'FTPdtStaAlwPick' => '2',
936                    'FTPdtStaAlwPoHQ' => '2',
937                    'FTPdtStaAlwBuy' => '1',
938                    'FTPdtStaAlwSale' => '1',
939                    'FTPdtStaAlwRet' => '1',
940                    'pnUpdateType' => '1',
941                    'FTPunName' => 'กระป๋อง (D)',
942                    'tUnitOld' => '00028',
943                );
944        $oOutput = $this->request(
945            'POST',
946            'product/product/cProduct/FSoCPDTPackSizeUpdate',
947            $aData
948        );
949        $this->assertStringContainsString('Update Product Success', $oOutput);
950        $this->assertResponseCode(200);
951    }
952
953
954    // PDT31.แก้ไขข้อมูลหน่วยสินค้าแบบไม่มีรหัสสินค้า
955    public function test_PDT31_แก้ไขข้อมูลหน่วยสินค้าและอัตราส่วนต่อหน่วยและสีและขนาดแบบมีรหัสสินค้า(){
956        print 'PDT31.แก้ไขข้อมูลหน่วยสินค้าและอัตราส่วนต่อหน่วยและสีและขนาดแบบมีรหัสสินค้า สำเร็จ\n';
957        $aData = array(
958            'FTPdtCode' => '1506351651031321',
959            'FTPunCode' => '00028',
960            'FCPdtUnitFact' => '10.00',
961            'FTPdtGrade' => '',
962            'FCPdtWeight' => '0.00',
963            'FTClrCode' => '0006',
964            'FTClrName' => 'สีทอง01',
965            'FTPszCode' => '00002',
966            'FTPszName' => 'ทดสอบภาษา01',
967            'FTPdtUnitDim' => ';;',
968            'FTPdtPkgDim' => ';;',
969            'FTPdtStaAlwPick' => '2',
970            'FTPdtStaAlwPoHQ' => '2',
971            'FTPdtStaAlwBuy' => '1',
972            'FTPdtStaAlwSale' => '1',
973            'FTPdtStaAlwRet' => '1',
974            'pnUpdateType' => '1',
975            'FTPunName' => 'กระป๋อง (D)',
976            'tUnitOld' => '00028',
977          );
978        $oOutput = $this->request(
979            'POST',
980            'product/product/cProduct/FSoCPDTPackSizeUpdate',
981            $aData
982        );
983        $this->assertStringContainsString('Update Product Success', $oOutput);
984        $this->assertResponseCode(200);
985    }
986
987
988    // PDT32.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า
989    public function test_PDT32_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบมีรหัสสินค้า(){
990        print 'PDT32.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบมีรหัสสินค้า สำเร็จ\n';
991        $aData = array(
992            'FTPdtCode' => '1506351651031321',
993            'FTBarCode' => '1506351651031323-1',
994            'tOldBarCode' => '1506351651031323-1',
995            'FTPunCode' => '00028',
996            'FTPlcCode' => '',
997            'FTPlcName' => '',
998            'FTSplCode' => '',
999            'FTSplName' => '',
1000            'StatusAddEdit' => '1',
1001            'FTBarStaUse' => '1',
1002            'FTBarStaAlwSale' => '1',
1003            'FTSplStaAlwPO' => '',
1004          );
1005        $oOutput = $this->request(
1006            'POST',
1007            'product/product/cProduct/FSoCPDTUpdateBarCode',
1008            $aData
1009        );
1010        $this->assertStringContainsString('Success', $oOutput);
1011        $this->assertResponseCode(200);
1012    }
1013
1014
1015    // PDT33.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า
1016    public function test_PDT33_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าและระบุผู้จำหน่ายด้วยแบบมีรหัสสินค้า(){
1017        print 'PDT33.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าและระบุผู้จำหน่ายด้วยแบบมีรหัสสินค้า สำเร็จ\n';
1018        $aData = array(
1019            'FTPdtCode' => '1506351651031321',
1020            'FTBarCode' => '1506351651031323-1',
1021            'tOldBarCode' => '1506351651031323-1',
1022            'FTPunCode' => '00028',
1023            'FTPlcCode' => '',
1024            'FTPlcName' => '',
1025            'FTSplCode' => 'SPL00008',
1026            'FTSplName' => 'Testgo Lotas',
1027            'StatusAddEdit' => '1',
1028            'FTBarStaUse' => '1',
1029            'FTBarStaAlwSale' => '1',
1030            'FTSplStaAlwPO' => '',
1031          );
1032        $oOutput = $this->request(
1033            'POST',
1034            'product/product/cProduct/FSoCPDTUpdateBarCode',
1035            $aData
1036        );
1037        $this->assertStringContainsString('Success', $oOutput);
1038        $this->assertResponseCode(200);
1039    }
1040
1041        
1042    
1043    // PDT34.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าแบบไม่มีรหัสสินค้า
1044    public function test_PDT34_แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าและระบุผู้จำหน่าและที่เก็บยด้วยแบบมีรหัสสินค้า(){
1045        print 'PDT34.แก้ไขข้อมูลบาร์โค้ดของหน่วยสินค้าและระบุผู้จำหน่าและที่เก็บยด้วยแบบมีรหัสสินค้า สำเร็จ\n';
1046        $aData = array(
1047            'FTPdtCode' => '1506351651031321',
1048            'FTBarCode' => '1506351651031323-1',
1049            'tOldBarCode' => '1506351651031323-1',
1050            'FTPunCode' => '00028',
1051            'FTPlcCode' => '00003',
1052            'FTPlcName' => 'ที่เก็บสินค้าภาษา01',
1053            'FTSplCode' => 'SPL00008',
1054            'FTSplName' => 'Testgo Lotas',
1055            'StatusAddEdit' => '1',
1056            'FTBarStaUse' => '1',
1057            'FTBarStaAlwSale' => '1',
1058            'FTSplStaAlwPO' => '',
1059          );
1060        $oOutput = $this->request(
1061            'POST',
1062            'product/product/cProduct/FSoCPDTUpdateBarCode',
1063            $aData
1064        );
1065        $this->assertStringContainsString('Success', $oOutput);
1066        $this->assertResponseCode(200);
1067    }
1068    
1069    
1070    // PDT35.แก้ไขข้อมูลสินค้า
1071    public function test_PDT35_แก้ไขข้อมูลสินค้าหลังการแก้ไขหน่วยและบาร์โค้ดของรหัส_1506351651031321(){
1072        print 'PDT35.แก้ไขข้อมูลสินค้าหลังการแก้ไขหน่วยและบาร์โค้ดของรหัส_1506351651031321 สำเร็จ\n';
1073        $aData = array(
1074            'aPdtDataInfo1' => array(
1075              'tPdtType' => '1',
1076              'tPdtSaleType' => '1',
1077              'tPdtColor' => '#88cefb',
1078              'tImgObj' => '#88cefb',
1079              'tChecked' => '0',
1080              'tIsAutoGenCode' => '1',
1081              'tPdtCode' => '1506351651031321',
1082              'tPdtStkCode' => '1506351651031321',
1083              'tPdtName' => 'POS500',
1084              'tPdtNameOth' => 'POS500',
1085              'tPdtNameABB' => 'POS500',
1086              'tPdtVatCode' => '00001',
1087              'nPdtStaVatBuy' => '1',
1088              'nPdtStaVat' => '1',
1089              'nPdtStaPoint' => '1',
1090              'nPdtStaActive' => '1',
1091              'nPdtStkControl' => '1',
1092              'nPdtStaAlwReturn' => '1',
1093              'nPdtStaAlwDis' => '1',
1094            ),
1095            'aPdtDataInfo2' => array(
1096              'tPdtAgnCode' => '',
1097              'tPdtBchCode' => '',
1098              'tPdtMerCode' => '',
1099              'tPdtMgpCode' => '',
1100              'tPdtShpCode' => '',
1101              'tPdtPgpChain' => '',
1102              'tPdtPtyCode' => '',
1103              'tPdtPbnCode' => '',
1104              'tPdtPmoCode' => '',
1105              'tPdtTcgCode' => '',
1106              'tPdtSaleStart' => '2023-06-02',
1107              'tPdtSaleStop' => '2024-06-02',
1108              'tPdtQtyOrdBuy' => '0.00',
1109              'tPdtMax' => '0.00',
1110              'tPdtMin' => '0.00',
1111              'tPdtCostDef' => '0.00',
1112              'tPdtCostStd' => '0.00',
1113              'tPdtRmk' => '',
1114              'tPdtForSystem' => '1',
1115              'tPdtConditionControlCode' => '',
1116            ),
1117            'aPdtDataRental' => array(
1118              'tRetPdtType' => '',
1119              'tRetPdtSta' => '',
1120              'tRetPdtStaPay' => '',
1121              'tRetPdtDeposit' => '',
1122              'tRetPdtShpCode' => '',
1123            ),
1124            'pnTypeAdd' => '1',
1125          );
1126        $oOutput = $this->request(
1127            'POST',
1128            'product/product/cProduct/FSoCPDTEditEvent',
1129            $aData
1130        );
1131        $this->assertStringContainsString('Success Add Event', $oOutput);
1132        $this->assertResponseCode(200);
1133    }
1134
1135
1136}