import { test, expect, Page } from '@playwright/test'; import { strictEqual } from 'assert'; import { Console, error, log } from 'console'; import exp from 'constants'; import { it } from 'node:test'; let page: Page; test.beforeAll(async ({ browser }) => { page = await browser.newPage(); }); test.afterAll(async () => { if (page !== undefined) { await page.close(); } }); test('Login', async () => { // Login await page.goto('http://192.168.1.90:20001/'); await expect(page).toHaveTitle(/^Sign in to /); await page.fill("input[name='username']", 'admin'); await page.fill("input[name='password']", '1234'); await page.click('id=kc-login'); await page.waitForTimeout(2000); // await page.click('id=acceptBtn'); }); test('ทดสอบการลบจัดการสาขา', async () => { await page.click('id=menu-icon-branch-management'); // จำลองการสร้างสำนักงานใหญ่ await page.click('id=hq-add-btn'); await page.fill("(//input[@id='input-abbreviation'])[2]", 'TES'); await page.fill("(//input[@id='input-tax-no'])[2]", '1260846220284'); await page.fill("(//input[@id='input-name'])[2]", 'บริษัท จำลอง จำกัด'); await page.fill("(//input[@id='input-name-en'])[2]", 'JOMLONG'); await page.fill("(//input[@id='input-email'])[2]", 'JOM@support.com'); await page.fill("(//input[@id='input-telephone-no'])[2]", '022010100'); await page.fill("(//input[@id='input-contact-name'])[2]", 'คุณอาท'); await page.fill("(//input[@id='input-contact'])[2]", '0866224228'); await page.fill("(//input[@id='input-line-id'])[2]", 'como20'); await page.fill("(//input[@id='default-input-address'])[2]", '40/04'); await page.click("(//input[@id='default-select-province'])[2]"); await page.click("//div[@role='option']"); await page.click("(//input[@id='default-select-district'])[2]"); await page.waitForTimeout(1000); await page.click("//div[@role='option']"); await page.click("(//input[@id='default-select-sub-district'])[2]"); await page.waitForTimeout(1000); await page.click("//div[@role='option']"); await page.fill("(//input[@id='default-input-address-en'])[2]", '40/04'); await page.click("(//input[@id='select-bankbook'])[3]"); await page.click('id=select-bankbook_4'); await page.fill("(//input[@aria-label='เลขบัญชี'])[2]", '2022822624262'); await page.fill("(//input[@aria-label='สาขาธนาคาร'])[2]", 'ลำพูน'); await page.fill("(//input[@aria-label='ชื่อบัญชี'])[2]", 'Pongpon Kuntana'); await page.click("(//input[@aria-label='ประเภทบัญชี'])[2]"); await page.waitForTimeout(2000); await page.click('id=select-bankbook_0'); await page.click('id=btn-form-submit'); await page.waitForSelector('id=btn-ok-dialog'); await page.click('id=btn-ok-dialog'); // จำลองการสร้างสาขา await page.click('id=create-sub-branch-btn-บริษัท จำลอง จำกัด'); await page.click("(//button[@type='submit'])[1]"); await page.fill("(//input[@id='input-tax-no'])[2]", '1260846220281'); await page.fill("(//input[@id='input-name'])[3]", 'สาขาจำลอง'); await page.fill("(//input[@id='input-name-en'])[2]", 'SAKAJOMLONG'); await page.fill( "(//input[@aria-label='เลขที่ใบอนุญาต'])[2]", '1228222822822', ); await page.fill("(//input[@id='input-email'])[2]", 'test@support.com'); await page.fill("(//input[@id='input-telephone-no'])[2]", '022222002'); await page.fill("(//input[@id='input-contact-name'])[2]", 'คุณอาท'); await page.fill("(//input[@id='input-contact'])[2]", '0822262228'); await page.fill("(//input[@id='input-line-id'])[2]", 'company'); await page.fill("(//input[@id='default-input-address-no'])[2]", '20/02'); await page.click("(//input[@id='default-select-province'])[2]"); await page.click("//div[@role='option']"); await page.click("(//input[@id='default-select-district'])[2]"); await page.waitForTimeout(400); await page.click("//div[@role='option']"); await page.click("(//input[@id='default-select-sub-district'])[2]"); await page.waitForTimeout(400); await page.click("//div[@role='option']"); await page.fill("(//input[@id='default-input-address-en'])[2]", '20/02'); await page.click("(//input[@id='select-bankbook'])[3]"); await page.click('id=select-bankbook_1'); await page.fill("(//input[@aria-label='เลขบัญชี'])[2]", '2282020021'); await page.fill("(//input[@aria-label='สาขาธนาคาร'])[2]", 'เชียงใหม่'); await page.fill("(//input[@aria-label='ชื่อบัญชี'])[2]", 'Pongpon Kuntana'); await page.click("(//input[@aria-label='ประเภทบัญชี'])[2]"); await page.waitForTimeout(2000); await page.click('id=select-bankbook_0'); await page.click('id=btn-form-submit'); // จำลองการสร้างสาขาเสมือน await page.click('id=create-sub-branch-btn-บริษัท จำลอง จำกัด'); await page.click("(//button[@type='submit'])[2]"); await page.fill("(//input[@id='input-tax-no'])[2]", '2022826282642'); await page.fill("(//input[@id='input-name'])[2]", 'สาขาเสมือน'); await page.fill("(//input[@id='input-name-en'])[2]", 'VISUALBRANCH'); await page.fill("(//input[@id='input-email'])[2]", 'visual@local.co.th'); await page.fill("(//input[@id='input-telephone-no'])[2]", '022222002'); await page.fill("(//input[@id='input-contact-name'])[2]", 'คุณอุล'); await page.fill("(//input[@id='input-contact'])[2]", '0822622862'); await page.fill("(//input[@id='input-line-id'])[2]", 'cmmsupport'); await page.fill("(//input[@id='default-input-address'])[2]", '40/04'); await page.click("(//input[@id='default-select-province'])[2]"); await page.click("//div[@role='option']"); await page.click("(//input[@id='default-select-district'])[2]"); await page.waitForTimeout(400); await page.click("//div[@role='option']"); await page.click("(//input[@id='default-select-sub-district'])[2]"); await page.waitForTimeout(400); await page.click("//div[@role='option']"); await page.fill("(//input[@id='default-input-address-en'])[2]", '40/04'); await page.click("(//input[@id='select-bankbook'])[3]"); await page.click('id=select-bankbook_2'); await page.fill("(//input[@aria-label='เลขบัญชี'])[2]", '2822642201'); await page.fill("(//input[@aria-label='สาขาธนาคาร'])[2]", 'ลำพูน'); await page.fill("(//input[@aria-label='ชื่อบัญชี'])[2]", 'Pongpon Kuntana'); await page.click("(//input[@aria-label='ประเภทบัญชี'])[2]"); await page.waitForTimeout(2000); await page.click('id=select-bankbook_0'); await page.click('id=btn-form-submit'); // ลบสาขาและตรวจสอบการลบสาขา try { await page.click('id=btn-kebab-action-สาขาจำลอง'); await page.click('id=btn-kebab-delete-สาขาจำลอง'); // ยืนยันการลบ await page.click('id=btn-ok-dialog'); await page.waitForTimeout(1000); // ตรวจสอบการลบสาขา const itemLocator = page.locator( "//tr[contains(.,'1 สาขาจำลองTES0000112608462202810822262228คุณอาท20/02')]", ); // ตรวจสอบว่าถูกลบออกจากระบบหรือไม่ await expect(itemLocator).toBeHidden(); console.log('ตรวจสอบข้อมูลการลบสาขาสำเร็จ'); } catch (error) { console.error('เกิดข้อผิดพลาดในการลบสาขา', error); throw error; } // ลบสาขาเสมือนและตรวจสอบการลบสาขาเสมือน try { await page.click('id=btn-kebab-action-สาขาเสมือน'); await page.click('id=btn-kebab-delete-สาขาเสมือน'); // ยืนยันการลบ await page.click('id=btn-ok-dialog'); await page.waitForTimeout(1000); // ตรวจสอบการลบสาขาเสมือน const itemLocator = page.locator( "//tr[contains(.,'2 สาขาเสมือนTES0000220228262826420822622862คุณอุล40/04')]", ); // ตรวจสอบว่าถูกลบออกจากระบบหรือไม่ await expect(itemLocator).toBeHidden(); console.log('ตรวจสอบข้อมูลการลบสาขาเสมือนสำเร็จ'); } catch (error) { console.error('เกิดข้อผิดพลาดในการลบสาขาเสมือน', error); throw error; } // // ลบสำนักงานใหญ่และตรวจสอบการลบสำนักงานใหญ่ // await page.click("//div[@id='tree-enter-บริษัท จำลอง จำกัด']/div[1]"); // try { // await page.click('id=btn-kebab-action-บริษัท จำลอง จำกัด'); // await page.click('id=btn-kebab-delete-บริษัท จำลอง จำกัด'); // // ยืนยันการลบ // await page.click('id=btn-ok-dialog'); // await page.waitForTimeout(1000); // // ตรวจสอบการลบสำนักงานใหญ่ // const itemLocator = page.locator( // "//tr[contains(.,'9 บริษัท จำลอง จำกัดTES0000012608462202840866224228คุณอาท40/04')]", // ); // // ตรวจสอบว่าถูกลบออกจากระบบหรือไม่ // await expect(itemLocator).toBeHidden(); // console.log('ตรวจสอบข้อมูลการลบสำนักงานใหญ่สำเร็จ'); // } catch (error) { // console.error('เกิดข้อผิดพลาดในการลบสำนักงานใหญ่', error); // throw error; // } await page.waitForTimeout(2000); });