import { test, expect, Page } from '@playwright/test'; import { strictEqual } from 'assert'; import exp from 'constants'; 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('Edit Headquter Branch', async () => { try { // แก้ไขสำนักงานใหญ่ await page.click('id=menu-icon-branch-management'); await page.click('id=btn-kebab-action-บริษัท โคโม่ จำกัด'); await page.click('id=btn-kebab-edit-บริษัท โคโม่ จำกัด'); await page.fill('id=input-name', 'บริษัท โคโมโดะ จำกัด'); await page.fill('id=input-name-en', 'COMODO'); await page.click('id=btn-info-basic-save'); //ตรวจสอบรายละเอียดการแก้ไข await page.click('id=btn-kebab-action-บริษัท โคโมโดะ จำกัด'); await page.click('id=btn-kebab-view-detail-บริษัท โคโมโดะ จำกัด'); //ตรวจสอบว่าได้ทำการแก้ไขถูกต้องหรือไม่ const detailEditName = await page.inputValue( "//input[@value='บริษัท โคโมโดะ จำกัด']", ); const detailEditNameEn = await page.inputValue( "//input[@aria-label='ชื่อสำนักงานใหญ่ (EN)']", ); await expect(detailEditName).toBe('บริษัท โคโมโดะ จำกัด'); await expect(detailEditNameEn).toBe('COMODO'); console.log('ตรวจสอบการแก้ไขข้อมูลสำนักงานใหญ่ถูกต้อง'); } catch (error) { console.error('เกิดข้อผิดพลาดในการทดสอบ', error); throw error; } await page.waitForTimeout(4000); await page.click('id=btn-info-close'); }); test('Edit Sub Branch', async () => { try { // แก้ไขสำนักงานใหญ่ await page.click("//div[@id='tree-enter-บริษัท โคโมโดะ จำกัด']/div[1]"); await page.waitForSelector('id=btn-kebab-action-สีลม1', { state: 'visible', }); await page.click('id=btn-kebab-action-สีลม1'); await page.waitForTimeout(1000); await page.click('id=btn-kebab-edit-สีลม1'); await page.fill('id=input-name', 'สินสาทร'); await page.fill('id=input-name-en', 'Sinsathorn'); await page.click('id=btn-info-basic-save'); //ตรวจสอบรายละเอียดการแก้ไข await page.click('id=btn-kebab-action-สินสาทร'); await page.click('id=btn-kebab-view-detail-สินสาทร'); //ตรวจสอบว่าได้ทำการแก้ไขถูกต้องหรือไม่ const detailEditName = await page.inputValue("//input[@value='สินสาทร']"); const detailEditNameEn = await page.inputValue( "//input[@value='Sinsathorn']", ); await expect(detailEditName).toBe('สินสาทร'); await expect(detailEditNameEn).toBe('Sinsathorn'); console.log('ตรวจสอบการแก้ไขข้อมูลสาขาถูกต้อง'); } catch (error) { console.error('เกิดข้อผิดพลาดในการทดสอบ', error); throw error; } await page.waitForTimeout(4000); await page.click('id=btn-info-close'); }); test('Edit Visual Branch', async () => { try { // แก้ไขสำนักงานใหญ่ await page.click("//div[@id='tree-enter-บริษัท คาโมมายด์ จำกัด']/div[1]"); await page.click('id=btn-kebab-action-บางรัก1'); await page.click('id=btn-kebab-edit-บางรัก1'); await page.fill('id=input-name', 'บางจาก'); await page.fill('id=input-name-en', 'Bangjak'); await page.click('id=btn-info-basic-save'); //ตรวจสอบรายละเอียดการแก้ไข await page.click('id=btn-kebab-action-บางจาก'); await page.click('id=btn-kebab-view-detail-บางจาก'); //ตรวจสอบว่าได้ทำการแก้ไขถูกต้องหรือไม่ const detailEditName = await page.inputValue("//input[@value='บางจาก']"); const detailEditNameEn = await page.inputValue("//input[@value='Bangjak']"); await expect(detailEditName).toBe('บางจาก'); await expect(detailEditNameEn).toBe('Bangjak'); console.log('ตรวจสอบการแก้ไขข้อมูลสาขาเสมือนถูกต้อง'); } catch (error) { console.error('เกิดข้อผิดพลาดในการทดสอบ', error); throw error; } await page.waitForTimeout(4000); await page.click('id=btn-info-close'); });