jws-frontend/tests/01-Manage/01-Admin-BranchManagement/JWS_BM_013_DeleteBranch.spec.ts
2024-12-04 09:12:52 +07:00

247 lines
11 KiB
TypeScript

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';
import { prependOnceListener } from 'process';
let page: Page;
let isLoginSuccessful = false;
test.beforeAll(async ({ browser }) => {
page = await browser.newPage();
});
test.afterAll(async () => {
if (page !== undefined) {
await page.close();
}
});
async function login(page) {
try {
// Login
await page.goto('http://192.168.1.62:20101/');
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');
// เข้าสู่เมนูสาขา
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-branch');
await page.click('id=sub-menu-branch');
await page.waitForTimeout(2000);
isLoginSuccessful = true;
console.log('ระบบทำการ Login');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการ Login', error);
isLoginSuccessful = false;
}
}
test('Login', async () => {
await login(page);
});
test('ทดสอบการลบจัดการสาขา', async () => {
// จำลองการสร้างสำนักงานใหญ่
// 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-license-number'])[2]", '2938227328292');
// 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-no'])[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-info-basic-save');
// await page.waitForSelector('id=btn-ok-dialog');
// await page.click('id=btn-ok-dialog');
// await page.click('id=btn-form-close');
if (!isLoginSuccessful) {
await login(page);
}
// จำลองการสร้างสาขา
try {
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'])[2]", 'สาขาจำลอง');
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-info-basic-save');
await page.click('id=btn-form-close');
// จำลองการสร้างสาขาเสมือน
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[@aria-label='เลขที่ใบอนุญาต'])[2]",
'1228222822822',
);
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-no'])[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-info-basic-save');
await page.click('id=btn-form-close');
await page.waitForTimeout(1000);
// ลบสาขาและตรวจสอบการลบสาขา
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);
isLoginSuccessful = false;
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);
});