Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 383
0.00% covered (danger)
0.00%
0 / 22
CRAP
0.00% covered (danger)
0.00%
0 / 1
ProductTransferWarehouse_test
0.00% covered (danger)
0.00%
0 / 383
0.00% covered (danger)
0.00%
0 / 22
870
0.00% covered (danger)
0.00%
0 / 1
 __construct
n/a
0 / 0
n/a
0 / 0
1
 test_PTW01_เข้าหน้าแรกต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW02_เข้าหน้าหลักต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW03_โหลดข้อมูลรายการเอกสาร_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 21
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW04_เข้าหน้าจอเพิ่มเอกสาร_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW05_โหลดข้อมูลรายการสินค้าแสดงเป็นตาราง_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW06_เพิ่มสินค้าลงตารางแบบบวกเพิ่มแถวใหม่_1_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW07_เพิ่มสินค้าลงตารางแบบบวกเพิ่มแถวใหม่__สินค้าตัวเดิม_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW08_แก้ไขตัวเลือกกรณีเพิ่มสินค้ารายการเดิม_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW09_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_1_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW10_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_สินค้าตัวเดิม_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW11_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_2_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW12_ลบสินค้าในตาราง_1_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW13_ลบสินค้าในตารางหลายรายการ_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW14_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_3_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW15_แก้ไขจำนวนของสินค้ารายการที่_1_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 18
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW16_แก้ไขจำนวนของสินค้ารายการที่_3_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 18
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW17_บันทึกเอกสาร_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 77
0.00% covered (danger)
0.00%
0 / 1
2
 test_PTW18_เข้าหน้าจอแก้ไขเอกสาร_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 1
6
 test_PTW19_อนุมัติเอกสาร_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 19
0.00% covered (danger)
0.00%
0 / 1
6
 test_PTW20_ยกเลิกเอกสาร_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 1
6
 test_PTW21_ลบเอกสาร_1_เอกสารต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 1
6
 test_PTW22_ลบเอกสาร_2_เอกสารต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
12
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
11 class ProductTransferWarehouse_test extends TestCase
12{
13    /**
14     * @codeCoverageIgnore
15     */
16    public function __construct() {
17        parent::__construct();
18        $ci = &get_instance();
19        $ci->load->database();
20        $ci->load->helper('validator_helper');
21        $this->code = substr(md5(uniqid(mt_rand(), true)), 0, 5);
22        $_SESSION =array (
23            '__ci_last_regenerate' => 1674475513,
24            'lang' => 'th',
25            'tLangID' => 1,
26            'tSesUserLogin' => '009',
27            'tSesUsrRoleCodeMulti' => '\'00002\'',
28            'nSesUsrRoleLevel' => 99,
29            'tSesUsrAgnCode' => NULL,
30            'tSesUsrAgnName' => NULL,
31            'tSesUsrMerCode' => NULL,
32            'tSesUsrMeclsrName' => NULL,
33            'tSesUsrBchCodeDefault' => '00001',
34            'tSesUsrBchNameDefault' => 'AdaSoft00001',
35            'tSesUsrBchCodeMulti' => '\'00001\'',
36            'tSesUsrBchNameMulti' => '\'AdaSoft00001\'',
37            'nSesUsrBchCount' => 0,
38            'tSesUsrShpCodeDefault' => '00014',
39            'tSesUsrShpNameDefault' => 'รันไทม์ช็อป',
40            'tSesUsrShpCodeMulti' => '\'00014\'',
41            'tSesUsrShpNameMulti' => '\'รันไทม์ช็อป\'',
42            'nSesUsrShpCount' => 0,
43            'tSesUsrWahCode' => '00001',
44            'tSesUsrWahName' => 'คลังขาย',
45            'tSesUsrLoginLevel' => 'HQ',
46            'tSesUsrLoginAgency' => 0,
47            'bSesLogIn' => 1,
48            'tSesUserCode' => '00002',
49            'tSesUsername' => '00002',
50            'tSesUsrDptName' => NULL,
51            'tSesUsrDptCode' => NULL,
52            'tSesUsrUsername' => 'Adasoft',
53            'tSesUsrImagePerson' => NULL,
54            'tSesUsrInfo' => array (
55              'FTUsrStaActive' => 1,
56              'FTUsrLogType' => 1,
57              'FTStaError' => 0,
58              'FTUsrCode' => '00002',
59              'FTUsrName' => 'Adasoft',
60              'FTDptCode' => NULL,
61              'FTDptName' => NULL,
62              'FTImgObj' => NULL,
63            ),
64            'tSesUsrGroup' => array (
65              0 => array (
66                'FTUsrCode' => '00002',
67                'FTAgnCode' => NULL,
68                'FTAgnName' => NULL,
69                'FTBchCode' => NULL,
70                'FTBchName' => NULL,
71                'FTShpCode' => NULL,
72                'FTShpName' => NULL,
73                'FTMerCode' => NULL,
74                'FTMerName' => NULL,
75                'FTWahCode' => NULL,
76                'FTWahName' => NULL,
77                'FTLoginLevel' => 'HQ',
78                'FTStaLoginAgn' => 0,
79              ),
80            ),
81            //'tSesSessionID' => '0000220230123185822',
82            'tSesSessionID' => '0000220230301232726',
83            'tSesSessionDate' => '2023-01-23 18:58:22',
84            'tLangEdit' => 1,
85            'bIsHaveAgn' => NULL,
86            'tSesUsrLevel' => 'HQ',
87            '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\'',
88            'bShpEnabled' => 1,
89            'bAgnEnabled' => 1,
90            'bLockerEnabled' => NULL,
91            'bPdtFasionEnabled' => NULL,
92            'tSesHQBchCode' => '00001',
93            'bSesRegStaLicense' => 1,
94            'tSesCstKey' => '52a8a4705e6c',
95            'bSesRegStaBuyPackage' => 1,
96        );
97    }
98
99    // $route['TFW/(:any)/(:any)']             = 'document/producttransferwahouse/cProducttransferwahouse/index/$1/$2';
100    // $route['TFWFormSearchList']             = 'document/producttransferwahouse/cProducttransferwahouse/FSxCTFWFormSearchList';
101    // $route['TFWPageAdd']                    = 'document/producttransferwahouse/cProducttransferwahouse/FSxCTFWAddPage';
102    // $route['TFWPageEdit']                   = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWEditPage';
103    // $route['TFWEventAdd']                   = 'document/producttransferwahouse/cProducttransferwahouse/FSaCTFWAddEvent';
104    // $route['TFWCheckPdtTmpForTransfer']     = 'document/producttransferwahouse/cProducttransferwahouse/FSbCheckHaveProductForTransfer';
105    // $route['TFWCheckHaveProductInDT']       = 'document/producttransferwahouse/cProducttransferwahouse/FSbCheckHaveProductInDT';
106    // $route['TFWEventEdit']                  = 'document/producttransferwahouse/cProducttransferwahouse/FSaCTFWEditEvent';
107    // $route['TFWEventDelete']                = 'document/producttransferwahouse/cProducttransferwahouse/FSaCTFWDeleteEvent';
108    // $route['TFWDataTable']                  = 'document/producttransferwahouse/cProducttransferwahouse/FSxCTFWDataTable';
109    // $route['TFWGetShpByBch']                = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWGetShpByBch';
110    // $route['TFWAddPdtIntoTableDT']          = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAddPdtIntoTableDT';
111    // $route['TFWEditPdtIntoTableDT']         = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWEditPdtIntoTableDT';
112    // $route['TFWRemovePdtInDTTmp']           = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWRemovePdtInDTTmp';
113    // $route['TFWRemovePdtInFile']            = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWRemovePdtInFile';
114    // $route['TFWRemoveAllPdtInFile']         = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWRemoveAllPdtInFile';
115    // $route['TFWAdvanceTableShowColList']    = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAdvTblShowColList';
116    // $route['TFWAdvanceTableShowColSave']    = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWShowColSave';
117    // $route['TFWGetDTDisTableData']          = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWGetDTDisTableData';
118    // $route['TFWAddDTDisIntoTable']          = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAddDTDisIntoTable';
119    // $route['TFWRemoveDTDisInFile']          = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWRemoveDTDisInFile';
120    // $route['TFWGetHDDisTableData']          = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWGetHDDisTableData';
121    // $route['TFWAddHDDisIntoTable']          = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAddHDDisIntoTable';
122    // $route['TFWRemoveHDDisInFile']          = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWRemoveHDDisInFile';
123    // $route['TFWEditDTDis']                  = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWEditDTDis';
124    // $route['TFWEditHDDis']                  = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWEditHDDis';
125    // $route['TFWGetAddress']                 = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWGetShipAdd';
126    // $route['TFWGetPdtBarCode']              = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWGetPdtBarCode';
127    // $route['TFWPdtAdvanceTableLoadData']    = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWPdtAdvTblLoadData';
128    // $route['TFWVatTableLoadData']           = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWVatLoadData';
129    // $route['TFWCalculateLastBill']          = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWCalculateLastBill';
130    // $route['TFWPdtMultiDeleteEvent']        = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWPdtMultiDeleteEvent';
131    // $route['TFWApprove']                    = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWApprove';
132    // $route['TFWCancel']                     = 'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWCancel';
133    // $route['TFWClearDocTemForChngCdt']      = 'document/producttransferwahouse/cProducttransferwahouse/FSxCTFXClearDocTemForChngCdt';
134    // $route['TFWCheckViaCodeForApv']         = 'document/producttransferwahouse/cProducttransferwahouse/FSxCTWXCheckViaCodeForApv';
135    // $route['docTFWEventAddPdtIntoDTFhnTemp'] = 'document/producttransferwahouse/cProducttransferwahouse/FSoCTFWEventAddPdtIntoDTFhnTemp';
136    // $route['TFWCheckProductWahouse']        = 'document/producttransferwahouse/cProducttransferwahouse/FSoCTWXCheckProductWahouse';
137    // $route['TFWClearPdtInTmp']              = 'document/producttransferwahouse/cProducttransferwahouse/FSxCTFWClearPdtInTmp';
138
139    // Route : index
140    public function test_PTW01_เข้าหน้าแรกต้องสำเร็จ(){
141        print 'test_PTW01_เข้าหน้าแรกต้องสำเร็จ';
142        $oOutput = $this->request(
143            'POST',
144            'document/producttransferwahouse/cProducttransferwahouse/index/0/0'
145        );
146        $this->assertStringContainsString('odvTFWMainMenu', $oOutput);
147        $this->assertResponseCode(200);
148    }
149
150    // Route : TFWFormSearchList
151    public function test_PTW02_เข้าหน้าหลักต้องสำเร็จ(){
152        print 'test_PTW02_เข้าหน้าหลักต้องสำเร็จ';
153        $oOutput = $this->request(
154            'POST',
155            'document/producttransferwahouse/cProducttransferwahouse/FSxCTFWFormSearchList'
156        );
157        $this->assertStringContainsString('oahTFWAdvanceSearch', $oOutput);
158        $this->assertResponseCode(200);
159    }
160
161    // Route : TFWDataTable
162    public function test_PTW03_โหลดข้อมูลรายการเอกสาร_ต้องสำเร็จ(){
163        print 'test_PTW03_โหลดข้อมูลรายการเอกสาร_ต้องสำเร็จ';
164        $aParam = array(
165            'oAdvanceSearch' => array(
166                'tSearchAll'            => '',
167                'tSearchBchCodeFrom'    => '',
168                'tSearchBchCodeTo'      => '',
169                'tSearchDocDateFrom'    => '',
170                'tSearchDocDateTo'      => '',
171                'tSearchStaDoc'         => '0',
172                'tSearchStaDocAct'      => '1',
173                'tSearchStaPrcStk'      => '0',
174            ),
175            'nPageCurrent' => '1',
176        );
177        $oOutput = $this->request(
178            'POST',
179            'document/producttransferwahouse/cProducttransferwahouse/FSxCTFWDataTable',
180            $aParam
181        );
182        $this->assertStringContainsString('odvRGPList', $oOutput);
183        $this->assertResponseCode(200);
184    }
185
186    // Route : TFWPageAdd
187    public function test_PTW04_เข้าหน้าจอเพิ่มเอกสาร_ต้องสำเร็จ(){
188        print 'test_PTW04_เข้าหน้าจอเพิ่มเอกสาร_ต้องสำเร็จ';
189        $oOutput = $this->request(
190            'POST',
191            'document/producttransferwahouse/cProducttransferwahouse/FSxCTFWAddPage'
192        );
193        $this->assertStringContainsString('contact100-form', $oOutput);
194        $this->assertResponseCode(200);
195    }
196
197    // Route : TFWPdtAdvanceTableLoadData
198    public function test_PTW05_โหลดข้อมูลรายการสินค้าแสดงเป็นตาราง_ต้องสำเร็จ(){
199        print 'test_PTW05_โหลดข้อมูลรายการสินค้าแสดงเป็นตาราง_ต้องสำเร็จ';
200        $aParam = array(
201            'tXthDocNo'     => '',
202            'tXthStaApv'    => '',
203            'tXthStaDoc'    => '',
204            'ptXthVATInOrEx' => '1',
205            'nPageCurrent'  => '1',
206        );
207        $oOutput = $this->request(
208            'POST',
209            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWPdtAdvTblLoadData',
210            $aParam
211        );
212        $this->assertStringContainsString('odvTBodyTFWPdt', $oOutput);
213        $this->assertResponseCode(200);
214    }
215
216    // Route : TFWAddPdtIntoTableDT
217    public function test_PTW06_เพิ่มสินค้าลงตารางแบบบวกเพิ่มแถวใหม่_1_รายการต้องสำเร็จ(){
218        print 'test_PTW06_เพิ่มสินค้าลงตารางแบบบวกเพิ่มแถวใหม่_1_รายการต้องสำเร็จ';
219        $aParam = array(
220            'ptXthBchCode'      => '00001',
221            'ptXthDocNo'        => '',
222            'pnXthVATInOrEx'    => '1',
223            'pjPdtData'         => '[{"pnPdtCode":"00080","ptBarCode":"A8851907115333","ptPunCode":"00016","packData":{"SHP":"","BCH":"","PDTCode":"00080","PDTName":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PUNCode":"00016","UnitFact":"1.0000","Barcode":"A8851907115333","PUNName":"ชิ้น","IMAGE":"#e2f0cb","LOCSEQ":"","Remark":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PDTSpc":"GN","CookTime":".0000","CookHeat":".0000","AlwDis":"1","AlwVat":"1","nVat":"7.0000","Price":"0.00","NetAfHD":"0.00"}}]',
224            'pnTFWOptionAddPdt' => '2',
225        );
226        $oOutput = $this->request(
227            'POST',
228            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAddPdtIntoTableDT',
229            $aParam
230        );
231        $this->assertStringContainsString('', $oOutput);
232        $this->assertResponseCode(200);
233    }
234
235    // Route : TFWAddPdtIntoTableDT
236    public function test_PTW07_เพิ่มสินค้าลงตารางแบบบวกเพิ่มแถวใหม่__สินค้าตัวเดิม_ต้องสำเร็จ(){
237        print 'test_PTW07_เพิ่มสินค้าลงตารางแบบบวกเพิ่มแถวใหม่__สินค้าตัวเดิม_ต้องสำเร็จ';
238        $aParam = array(
239            'ptXthBchCode'      => '00001',
240            'ptXthDocNo'        => '',
241            'pnXthVATInOrEx'    => '1',
242            'pjPdtData'         => '[{"pnPdtCode":"00080","ptBarCode":"A8851907115333","ptPunCode":"00016","packData":{"SHP":"","BCH":"","PDTCode":"00080","PDTName":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PUNCode":"00016","UnitFact":"1.0000","Barcode":"A8851907115333","PUNName":"ชิ้น","IMAGE":"#e2f0cb","LOCSEQ":"","Remark":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PDTSpc":"GN","CookTime":".0000","CookHeat":".0000","AlwDis":"1","AlwVat":"1","nVat":"7.0000","Price":"0.00","NetAfHD":"0.00"}}]',
243            'pnTFWOptionAddPdt' => '2',
244        );
245        $oOutput = $this->request(
246            'POST',
247            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAddPdtIntoTableDT',
248            $aParam
249        );
250        $this->assertStringContainsString('', $oOutput);
251        $this->assertResponseCode(200);
252    }
253
254    // Route : TFWClearPdtInTmp
255    public function test_PTW08_แก้ไขตัวเลือกกรณีเพิ่มสินค้ารายการเดิม_ต้องสำเร็จ(){
256        print 'test_PTW08_แก้ไขตัวเลือกกรณีเพิ่มสินค้ารายการเดิม_ต้องสำเร็จ';
257        $oOutput = $this->request(
258            'POST',
259            'document/producttransferwahouse/cProducttransferwahouse/FSxCTFWClearPdtInTmp'
260        );
261        $this->assertStringContainsString('', $oOutput);
262        $this->assertResponseCode(200);
263    }
264
265    // Route : TFWAddPdtIntoTableDT
266    public function test_PTW09_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_1_รายการต้องสำเร็จ(){
267        print 'test_PTW09_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_1_รายการต้องสำเร็จ';
268        $aParam = array(
269            'ptXthBchCode'      => '00001',
270            'ptXthDocNo'        => '',
271            'pnXthVATInOrEx'    => '1',
272            'pjPdtData'         => '[{"pnPdtCode":"00080","ptBarCode":"A8851907115333","ptPunCode":"00016","packData":{"SHP":"","BCH":"","PDTCode":"00080","PDTName":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PUNCode":"00016","UnitFact":"1.0000","Barcode":"A8851907115333","PUNName":"ชิ้น","IMAGE":"#e2f0cb","LOCSEQ":"","Remark":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PDTSpc":"GN","CookTime":".0000","CookHeat":".0000","AlwDis":"1","AlwVat":"1","nVat":"7.0000","Price":"0.00","NetAfHD":"0.00"}}]',
273            'pnTFWOptionAddPdt' => '1',
274        );
275        $oOutput = $this->request(
276            'POST',
277            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAddPdtIntoTableDT',
278            $aParam
279        );
280        $this->assertStringContainsString('', $oOutput);
281        $this->assertResponseCode(200);
282    }
283
284    // Route : TFWAddPdtIntoTableDT
285    public function test_PTW10_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_สินค้าตัวเดิม_ต้องสำเร็จ(){
286        print 'test_PTW10_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_สินค้าตัวเดิม_ต้องสำเร็จ';
287        $aParam = array(
288            'ptXthBchCode'      => '00001',
289            'ptXthDocNo'        => '',
290            'pnXthVATInOrEx'    => '1',
291            'pjPdtData'         => '[{"pnPdtCode":"00080","ptBarCode":"A8851907115333","ptPunCode":"00016","packData":{"SHP":"","BCH":"","PDTCode":"00080","PDTName":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PUNCode":"00016","UnitFact":"1.0000","Barcode":"A8851907115333","PUNName":"ชิ้น","IMAGE":"#e2f0cb","LOCSEQ":"","Remark":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PDTSpc":"GN","CookTime":".0000","CookHeat":".0000","AlwDis":"1","AlwVat":"1","nVat":"7.0000","Price":"0.00","NetAfHD":"0.00"}}]',
292            'pnTFWOptionAddPdt' => '1',
293        );
294        $oOutput = $this->request(
295            'POST',
296            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAddPdtIntoTableDT',
297            $aParam
298        );
299        $this->assertStringContainsString('', $oOutput);
300        $this->assertResponseCode(200);
301    }
302
303    // Route : TFWAddPdtIntoTableDT
304    public function test_PTW11_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_2_รายการต้องสำเร็จ(){
305        print 'test_PTW11_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_2_รายการต้องสำเร็จ';
306        $aParam = array(
307            'ptXthBchCode'      => '00001',
308            'ptXthDocNo'        => '',
309            'pnXthVATInOrEx'    => '1',
310            'pjPdtData'         => '[
311                {"pnPdtCode":"00081","ptBarCode":"A8851907115357","ptPunCode":"00016","packData":{"SHP":"","BCH":"","PDTCode":"00081","PDTName":"สติ๊กเกอร์ SME ตราช้าง ขนาด A12 (34 x 79 mm)","PUNCode":"00016","UnitFact":"1.0000","Barcode":"A8851907115357","PUNName":"ชิ้น","IMAGE":"#ffdac1","LOCSEQ":"","Remark":"สติ๊กเกอร์ SME ตราช้าง ขนาด A12 (34 x 79 mm)","PDTSpc":"GN","CookTime":".0000","CookHeat":".0000","AlwDis":"1","AlwVat":"1","nVat":"7.0000","Price":"0.00","NetAfHD":"0.00"}},
312                {"pnPdtCode":"00082","ptBarCode":"A8851907115272","ptPunCode":"00016","packData":{"SHP":"","BCH":"","PDTCode":"00082","PDTName":"สติ๊กเกอร์ SME ตราช้าง ขนาด A2 (9 x 20)","PUNCode":"00016","UnitFact":"1.0000","Barcode":"A8851907115272","PUNName":"ชิ้น","IMAGE":"https://dev.ada-soft.com/AdaFileServer/AdaPos5Dev/Adasoft/AdaFile/00001/product/23012916311840133403fb966f5.png","LOCSEQ":"","Remark":"สติ๊กเกอร์ SME ตราช้าง ขนาด A2 (9 x 20)","PDTSpc":"GN","CookTime":".0000","CookHeat":".0000","AlwDis":"1","AlwVat":"1","nVat":"7.0000","Price":"0.00","NetAfHD":"0.00"}}
313            ]',
314            'pnTFWOptionAddPdt' => '1',
315        );
316        $oOutput = $this->request(
317            'POST',
318            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAddPdtIntoTableDT',
319            $aParam
320        );
321        $this->assertStringContainsString('', $oOutput);
322        $this->assertResponseCode(200);
323    }
324
325    // Route : TFWRemovePdtInDTTmp
326    public function test_PTW12_ลบสินค้าในตาราง_1_รายการต้องสำเร็จ(){
327        print 'test_PTW12_ลบสินค้าในตาราง_1_รายการต้องสำเร็จ';
328        $aParam = array(
329            'ptXthDocNo'    => '',
330            'ptSeqno'       => '3',
331            'ptPdtCode'     => '00082',
332        );
333        $oOutput = $this->request(
334            'POST',
335            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWRemovePdtInDTTmp',
336            $aParam
337        );
338        $this->assertStringContainsString('', $oOutput);
339        $this->assertResponseCode(200);
340    }
341
342    // Route : TFWPdtMultiDeleteEvent
343    public function test_PTW13_ลบสินค้าในตารางหลายรายการ_ต้องสำเร็จ(){
344        print 'test_PTW13_ลบสินค้าในตารางหลายรายการ_ต้องสำเร็จ';
345        $aParam = array(
346            'tDocNo'    => '',
347            'tSeqCode'  => array(
348                '0' => '1',
349                '1' => '2 ',
350            ),
351        );
352        $oOutput = $this->request(
353            'POST',
354            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWPdtMultiDeleteEvent',
355            $aParam
356        );
357        $this->assertStringContainsString('Delete Complete.', $oOutput);
358        $this->assertResponseCode(200);
359    }
360
361    // Route : TFWAddPdtIntoTableDT
362    public function test_PTW14_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_3_รายการต้องสำเร็จ(){
363        print 'test_PTW14_เพิ่มสินค้าลงตารางแบบบวกจำนวนในรายการเดิม_3_รายการต้องสำเร็จ';
364        $aParam = array(
365            'ptXthBchCode'      => '00001',
366            'ptXthDocNo'        => '',
367            'pnXthVATInOrEx'    => '1',
368            'pjPdtData'         => '[
369                {"pnPdtCode":"00080","ptBarCode":"A8851907115333","ptPunCode":"00016","packData":{"SHP":"","BCH":"","PDTCode":"00080","PDTName":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PUNCode":"00016","UnitFact":"1.0000","Barcode":"A8851907115333","PUNName":"ชิ้น","IMAGE":"#e2f0cb","LOCSEQ":"","Remark":"สติ๊กเกอร์ SME ตราช้าง ขนาด A10 (27 x 50 mm)","PDTSpc":"GN","CookTime":".0000","CookHeat":".0000","AlwDis":"1","AlwVat":"1","nVat":"7.0000","Price":"0.00","NetAfHD":"0.00"}},
370                {"pnPdtCode":"00081","ptBarCode":"A8851907115357","ptPunCode":"00016","packData":{"SHP":"","BCH":"","PDTCode":"00081","PDTName":"สติ๊กเกอร์ SME ตราช้าง ขนาด A12 (34 x 79 mm)","PUNCode":"00016","UnitFact":"1.0000","Barcode":"A8851907115357","PUNName":"ชิ้น","IMAGE":"#ffdac1","LOCSEQ":"","Remark":"สติ๊กเกอร์ SME ตราช้าง ขนาด A12 (34 x 79 mm)","PDTSpc":"GN","CookTime":".0000","CookHeat":".0000","AlwDis":"1","AlwVat":"1","nVat":"7.0000","Price":"0.00","NetAfHD":"0.00"}},
371                {"pnPdtCode":"00082","ptBarCode":"A8851907115272","ptPunCode":"00016","packData":{"SHP":"","BCH":"","PDTCode":"00082","PDTName":"สติ๊กเกอร์ SME ตราช้าง ขนาด A2 (9 x 20)","PUNCode":"00016","UnitFact":"1.0000","Barcode":"A8851907115272","PUNName":"ชิ้น","IMAGE":"https://dev.ada-soft.com/AdaFileServer/AdaPos5Dev/Adasoft/AdaFile/00001/product/23012916311840133403fb966f5.png","LOCSEQ":"","Remark":"สติ๊กเกอร์ SME ตราช้าง ขนาด A2 (9 x 20)","PDTSpc":"GN","CookTime":".0000","CookHeat":".0000","AlwDis":"1","AlwVat":"1","nVat":"7.0000","Price":"0.00","NetAfHD":"0.00"}}
372            ]',
373            'pnTFWOptionAddPdt' => '1',
374        );
375        $oOutput = $this->request(
376            'POST',
377            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWAddPdtIntoTableDT',
378            $aParam
379        );
380        $this->assertStringContainsString('', $oOutput);
381        $this->assertResponseCode(200);
382    }
383
384    // Route : TFWEditPdtIntoTableDT
385    public function test_PTW15_แก้ไขจำนวนของสินค้ารายการที่_1_ต้องสำเร็จ(){
386        print 'test_PTW15_แก้ไขจำนวนของสินค้ารายการที่_1_ต้องสำเร็จ';
387        $aParam = array(
388            'ptXthDocNo'    => '',
389            'ptEditSeqNo'   => '1',
390            'paField' => array(
391                '' => 'FCXtdQty',
392            ),
393            'paValue' => array(
394                '' => '20',
395            ),
396        );
397        $oOutput = $this->request(
398            'POST',
399            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWEditPdtIntoTableDT',
400            $aParam
401        );
402        $this->assertStringContainsString('', $oOutput);
403        $this->assertResponseCode(200);
404    }
405
406    // Route : TFWEditPdtIntoTableDT
407    public function test_PTW16_แก้ไขจำนวนของสินค้ารายการที่_3_ต้องสำเร็จ(){
408        print 'test_PTW16_แก้ไขจำนวนของสินค้ารายการที่_3_ต้องสำเร็จ';
409        $aParam = array(
410            'ptXthDocNo'    => '',
411            'ptEditSeqNo'   => '3',
412            'paField' => array(
413                '' => 'FCXtdQty',
414            ),
415            'paValue' => array(
416                '' => '10',
417            ),
418        );
419        $oOutput = $this->request(
420            'POST',
421            'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWEditPdtIntoTableDT',
422            $aParam
423        );
424        $this->assertStringContainsString('', $oOutput);
425        $this->assertResponseCode(200);
426    }
427
428    // Route : TFWEventAdd
429    public function test_PTW17_บันทึกเอกสาร_ต้องสำเร็จ(){
430        print 'test_PTW17_บันทึกเอกสาร_ต้องสำเร็จ';
431        $aParam = array(
432            'ohdBaseUrl' => 'http://localhost/AdaPos5.0-STD/',
433            'ohdTFWAutStaEdit' => '0',
434            'ohdXthStaApv' => '',
435            'ohdXthStaDoc' => '',
436            'ohdXthStaPrcStk' => '',
437            'ohdXthStaDelMQ' => '',
438            'ohdTFWRoute' => 'TFWEventAdd',
439            'ohdSesUsrBchCode' => '',
440            'ohdCompCode' => '00001',
441            'ohdBchCode' => '00001',
442            'ohdOptAlwSavQty0' => '0',
443            'ohdOptScanSku' => '',
444            'ohdDptCode' => '',
445            'oetUsrCode' => '00002',
446            'oetXthApvCodeUsrLogin' => '00002',
447            'ohdLangEdit' => '1',
448            'ohdCheckTFWSubmitByButton' => '1',
449            'ohdCheckTFWClearValidate' => '0',
450            'ocbTFWAutoGenCode' => '1',
451            'oetXthDocNo' => '',
452            'ohdCheckDuplicateTFW' => '2',
453            'oetXthDocDate' => '2023-04-12',
454            'oetXthDocTime' => '10:36:43',
455            'oetCreateBy' => 'Adasoft',
456            'oetBchCode' => '00001',
457            'oetBchName' => 'AdaSoft00001',
458            'oetMchCode' => '',
459            'oetMchName' => '',
460            'oetShpCodeStart' => '',
461            'oetShpNameStart' => '',
462            'oetPosCodeStart' => '',
463            'oetPosNameStart' => '',
464            'ohdWahCodeStart' => '00001',
465            'oetWahNameStart' => 'คลังขาย',
466            'oetOldShpCodeEnd' => '',
467            'oetShpCodeEnd' => '',
468            'oetShpNameEnd' => '',
469            'oetOldPosCodeEnd' => '',
470            'oetPosCodeEnd' => '',
471            'oetPosNameEnd' => '',
472            'ohdWahCodeEnd' => '00003',
473            'oetWahNameEnd' => 'คลังทดสอบ',
474            'oetXthRefExt' => '',
475            'oetXthRefExtDate' => '',
476            'oetXthRefInt' => '',
477            'oetXthRefIntDate' => '',
478            'oetXthCtrName' => '',
479            'oetXthTnfDate' => '2023-04-12',
480            'oetXthRefTnfID' => '',
481            'oetViaName' => '',
482            'oetViaCode' => '',
483            'oetXthRefVehID' => '',
484            'oetXthQtyAndTypeUnit' => '',
485            'ohdXthShipAdd' => '',
486            'ohdXthVATInOrEx' => '',
487            'ostXthVATInOrEx' => '1',
488            'otaTfwRmk' => '',
489            'ocbXthStaDocAct' => '1',
490            'ohdXthStaRef' => '',
491            'ostXthStaRef' => '0',
492            'ocmTFWOptionAddPdt' => '1',
493            'oetXthDocPrint' => '0',
494            'oetSearchPdtHTML' => '',
495            'oetTFWInsertBarcode' => '',
496            'ohdFCXtdQty1' => '20.0000',
497            'ohdFCXtdQty2' => '1.0000',
498            'ohdFCXtdQty3' => '10.0000',
499        );
500        $oOutput = $this->request(
501            'POST',
502            'document/producttransferwahouse/cProducttransferwahouse/FSaCTFWAddEvent',
503            $aParam
504        );
505        $this->assertStringContainsString('Success Add', $oOutput);
506        $this->assertResponseCode(200);
507    }
508
509    // Route : TFWPageEdit
510    public function test_PTW18_เข้าหน้าจอแก้ไขเอกสาร_ต้องสำเร็จ(){
511        print 'test_PTW18_เข้าหน้าจอแก้ไขเอกสาร_ต้องสำเร็จ';
512        $ci = &get_instance();
513        $ci->load->database();
514        $tSql = " SELECT TOP 1 FTXthDocNo FROM TCNTPdtTwxHD WITH(NOLOCK) WHERE ISNULL(FTXthStaApv,'') = '' AND ISNULL(FTXthStaDoc,'') != '3' ";
515        $aResult = $ci->db->query($tSql);
516        $aPdtData = $aResult->row_array();
517        if(!empty($aPdtData)){
518            $aParam = array(
519                'ptXthDocNo' => $aPdtData['FTXthDocNo'],
520            );
521            $oOutput = $this->request(
522                'POST',
523                'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWEditPage',
524                $aParam
525            );
526            $this->assertStringContainsString('contact100-form', $oOutput);
527            $this->assertResponseCode(200);
528        }
529    }
530
531    // Route : TFWApprove
532    public function test_PTW19_อนุมัติเอกสาร_ต้องสำเร็จ(){
533        print 'test_PTW19_อนุมัติเอกสาร_ต้องสำเร็จ';
534        $ci = &get_instance();
535        $ci->load->database();
536        $tSql = " SELECT TOP 1 FTXthDocNo, FTXthStaApv, FTBchCode FROM TCNTPdtTwxHD WITH(NOLOCK) WHERE ISNULL(FTXthStaApv,'') = '' AND ISNULL(FTXthStaDoc,'') != '3' ";
537        $aResult = $ci->db->query($tSql);
538        $aPdtData = $aResult->row_array();
539        if(!empty($aPdtData)){
540            $aParam = array(
541                'tXthDocNo'     => $aPdtData['FTXthDocNo'],
542                'tXthStaApv'    => $aPdtData['FTXthStaApv'],
543                'tXthBchCode'   => $aPdtData['FTBchCode'],
544            );
545            $oOutput = $this->request(
546                'POST',
547                'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWApprove',
548                $aParam
549            );
550            $this->assertStringContainsString('ok', $oOutput);
551            $this->assertResponseCode(200);
552        }
553    }
554
555    // Route : TFWCancel
556    public function test_PTW20_ยกเลิกเอกสาร_ต้องสำเร็จ(){
557        print 'test_PTW20_ยกเลิกเอกสาร_ต้องสำเร็จ';
558        $ci = &get_instance();
559        $ci->load->database();
560        $tSql = " SELECT TOP 1 FTXthDocNo FROM TCNTPdtTwxHD WITH(NOLOCK) WHERE ISNULL(FTXthStaApv,'') = '' AND ISNULL(FTXthStaDoc,'') != '3' ";
561        $aResult = $ci->db->query($tSql);
562        $aPdtData = $aResult->row_array();
563        if(!empty($aPdtData)){
564            $aParam = array(
565                'tXthDocNo' => $aPdtData['FTXthDocNo'],
566            );
567            $oOutput = $this->request(
568                'POST',
569                'document/producttransferwahouse/cProducttransferwahouse/FSvCTFWCancel',
570                $aParam
571            );
572            $this->assertStringContainsString('Cancel done.', $oOutput);
573            $this->assertResponseCode(200);
574        }
575    }
576
577    // Route : TFWEventDelete
578    public function test_PTW21_ลบเอกสาร_1_เอกสารต้องสำเร็จ(){
579        print 'test_PTW21_ลบเอกสาร_1_เอกสารต้องสำเร็จ';
580        $ci = &get_instance();
581        $ci->load->database();
582        $tSql = " SELECT TOP 1 FTXthDocNo FROM TCNTPdtTwxHD WITH(NOLOCK) WHERE ISNULL(FTXthStaApv,'') = '' AND ISNULL(FTXthStaDoc,'') != '3' ";
583        $aResult = $ci->db->query($tSql);
584        $aPdtData = $aResult->row_array();
585        if(!empty($aPdtData)){
586            $aParam = array(
587                'tIDCode' => $aPdtData['FTXthDocNo'],
588            );
589            $oOutput = $this->request(
590                'POST',
591                'document/producttransferwahouse/cProducttransferwahouse/FSaCTFWDeleteEvent',
592                $aParam
593            );
594            $this->assertStringContainsString('Delete Complete.', $oOutput);
595            $this->assertResponseCode(200);
596        }
597    }
598
599    // Route : TFWEventDelete
600    public function test_PTW22_ลบเอกสาร_2_เอกสารต้องสำเร็จ(){
601        print 'test_PTW22_ลบเอกสาร_2_เอกสารต้องสำเร็จ';
602        $ci = &get_instance();
603        $ci->load->database();
604        $tSql = " SELECT TOP 2 FTXthDocNo FROM TCNTPdtTwxHD WITH(NOLOCK) WHERE ISNULL(FTXthStaApv,'') = '' AND ISNULL(FTXthStaDoc,'') != '3' ";
605        $aResult = $ci->db->query($tSql);
606        $aPdtDataObj = $aResult->result_array();
607        if(!empty($aPdtDataObj)){
608
609            foreach($aPdtDataObj as $aPdtData){
610                $aParam['tIDCode'][] = $aPdtData['FTXthDocNo'];
611            }
612            $oOutput = $this->request(
613                'POST',
614                'document/producttransferwahouse/cProducttransferwahouse/FSaCTFWDeleteEvent',
615                $aParam
616            );
617            $this->assertStringContainsString('Delete Complete.', $oOutput);
618            $this->assertResponseCode(200);
619        }
620    }
621}