jws-frontend/tests/01-Manage/MenuProductandService.spec.ts
Linpiing 272183bca9
Some checks failed
Spell Check / Spell Check with Typos (push) Failing after 6s
update
2025-05-22 09:26:31 +07:00

1602 lines
73 KiB
TypeScript

import { test, expect, Page } from '@playwright/test';
import { faker, fakerEN, fakerTH } from '@faker-js/faker';
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: Page) {
try {
// Login
await page.goto('/');
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');
// ถ้าทั้งหมดสำเร็จ
isLoginSuccessful = true;
console.log('ระบบทำการ Login สำเร็จ');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการ Login');
isLoginSuccessful = false;
}
}
test('Login', async () => {
await login(page);
});
test('TC_3_3_001', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
const titleNameProductAndService = page.locator(
"//div[@id='app-content']/div[1]/div[1]/span[1]",
);
await expect(titleNameProductAndService).toHaveText('สินค้าและบริการ');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบเข้าสู่หน้าสินค้าและบริการ');
});
test('TC_3_3_002', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
await page.click('id=btn-add');
const titleGroupProductAndService = page.locator(
"//div[contains(@class,'col text-subtitle1')]",
);
await expect(titleGroupProductAndService).toHaveText(
'เพิ่มกลุ่มสินค้าและบริการ',
);
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบแสดงหน้าเพิ่มกลุ่มสินค้าและบริการ');
});
test('TC_3_3_003', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
await page.click('id=btn-add');
await page.click("(//input[@id='select-hq-id'])[2]");
await page.waitForSelector('id=select-hq-id_0');
await page.click('id=select-hq-id_0');
await page.fill("(//input[@id='input-name'])[2]", 'ค่าบริการ');
await page.click('id=btn-info-basic-save');
const checkGroupProductAndServiceCreate = page.locator(
"//div[normalize-space(text())='ค่าบริการ']",
);
await expect(checkGroupProductAndServiceCreate).toHaveText('ค่าบริการ');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบทำการเพิ่มกลุ่มสินค้าและบริการ');
});
test('TC_3_3_004', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
await page.click('id=btn-add');
await page.waitForTimeout(2000);
await page.click('id=btn-info-basic-save');
const expectedErrors = [
{
locator: "(//div[@role='alert'])[1]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
{
locator: "(//div[@role='alert'])[2]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
];
for (const error of expectedErrors) {
const locator = page.locator(error.locator);
await expect(locator).toHaveText(error.message);
}
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบแจ้งเตือนในกรณีที่ไม่กรอกข้อมูล');
});
test('TC_3_3_005', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
await page.click('id=btn-add');
await page.fill("(//input[@id='input-name'])[2]", 'กลุ่มทดสอบ');
await page.waitForTimeout(2000);
await page.click('id=btn-info-basic-save');
const expectedErrors = [
{
locator: "(//div[@role='alert'])[1]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
];
for (const error of expectedErrors) {
const locator = page.locator(error.locator);
await expect(locator).toHaveText(error.message);
}
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log(
'ระบบแจ้งเตือนในกรณีที่กรอกชื่อกลุ่มสินค้าแต่ไม่เลือกสาขาที่ลงทะเบียน',
);
});
test('TC_3_3_006', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
await page.click('id=btn-add');
await page.click("(//input[@id='select-hq-id'])[2]");
await page.waitForSelector('id=select-hq-id_0');
await page.click('id=select-hq-id_0');
await page.waitForTimeout(2000);
await page.click('id=btn-info-basic-save');
const expectedErrors = [
{
locator: "(//div[@role='alert'])[1]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
];
for (const error of expectedErrors) {
const locator = page.locator(error.locator);
await expect(locator).toHaveText(error.message);
}
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบแจ้งเตือนในกรณีที่เลือกสาขาที่ลงทะเบียนแต่ไม่กรอกชื่อ');
});
test('TC_3_3_007', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การแก้ไขกลุ่มสินค้าและบริการ
await page.click("(//button[@id='btn-kebab-action-ค่าบริการ'])[2]");
await page.waitForSelector('id=btn-kebab-edit-ค่าบริการ');
await page.click('id=btn-kebab-edit-ค่าบริการ');
await page.fill('id=input-name', 'ค่าบริการและสินค้า');
await page.waitForTimeout(2000);
await page.click('id=btn-info-basic-save');
// ตรวจสอบหลังจากทำการแก้ไข
const editGroupAndService = page.locator(
"//div[normalize-space(text())='ค่าบริการและสินค้า']",
);
await expect(editGroupAndService).toHaveText('ค่าบริการและสินค้า');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบสามารถแก้ไขกลุ่มสินค้าและบริการได้');
});
test('TC_3_3_008', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การลบกลุ่มสินค้าและบริการ
await page.click(
"(//button[@id='btn-kebab-action-ค่าบริการและสินค้า'])[2]",
);
await page.waitForSelector('id=btn-kebab-delete-ค่าบริการและสินค้า');
await page.click('id=btn-kebab-delete-ค่าบริการและสินค้า');
await page.waitForSelector('id=btn-ok-dialog');
await page.click('id=btn-ok-dialog');
// ตรวจสอบหลังจากทำการลบ
const deleteGroupAndService = page.locator(
"//div[normalize-space(text())='ค่าบริการและสินค้า']",
);
await expect(deleteGroupAndService).toBeHidden();
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log(
'ระบบสามารถทำการลบกลุ่มสินค้าและบริการในกรณีที่ยังไม่มีการใช้งานได้',
);
});
test('TC_3_3_009', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// ทดสอบการเพิ่มกลุ่มสินค้าและบริการ
await page.click('id=btn-add');
await page.click("(//input[@id='select-hq-id'])[2]");
await page.waitForSelector('id=select-hq-id_0');
await page.click('id=select-hq-id_0');
await page.fill("(//input[@id='input-name'])[2]", 'ค่าธรรมเนียม');
await page.click('id=btn-info-basic-save');
// ทดสอบการเพิ่มสินค้าเพื่อทดสอบการลบ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.click('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
await page.waitForSelector("(//input[@id='select-br-id'])[1]");
await page.click("(//input[@id='select-br-id'])[1]");
await page.waitForSelector('id=select-br-id_0');
await page.click('id=select-br-id_0');
await page.fill("(//input[@id='input-name'])[2]", 'ค่าธรรมเนียมอื่นๆ');
await page.waitForTimeout(2000);
await page.click('id=btn-info-basic-save');
await page.waitForTimeout(2000);
await page.reload();
// // การลบกลุ่มสินค้าและบริการ
await page.waitForTimeout(2000);
await page.click("(//button[@id='btn-kebab-action-ค่าธรรมเนียม'])[2]");
await page.waitForTimeout(2000);
// ตรวจสอบสีของปุ่ม "ลบ" ว่ากลายเป็นสีเทาหรือไม่
const deleteText = page.locator("//span[text()='ลบ']");
const color = await deleteText.evaluate((el) => {
const style = window.getComputedStyle(el);
return style.color; // ตรวจสอบค่า color ของปุ่ม
});
const expectedColor = 'rgb(125, 130, 130)'; // ค่าสีเทาที่คาดหวัง (คุณสามารถปรับสีตามที่ระบบของคุณใช้งาน)
expect(color).toBe(expectedColor);
console.log('✅ ปุ่ม "ลบ" เปลี่ยนเป็นสีเทา');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log(
'ระบบไม่สามารถทำการลบกลุ่มสินค้าและบริการในกรณีที่มีการใช้งานได้',
);
});
test('TC_3_3_010', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเพิ่มสินค้า
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.click('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ตรวจสอบหน้าการเพิ่มสินค้า
const pageCreateProduceAndService = page.locator(
"//div[contains(@class,'col text-subtitle1')]",
);
await expect(pageCreateProduceAndService).toHaveText(
'เพิ่มสินค้าและบริการ',
);
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบเข้าสู่หน้าเพิ่มสินค้าและบริการ');
});
test('TC_3_3_011', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.click('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
// การเพิ่มสินค้า
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ส่วนข้อมูลพื้นฐาน
await page.waitForSelector("(//input[@id='select-br-id'])[1]");
await page.click("(//input[@id='select-br-id'])[1]");
await page.waitForSelector('id=select-br-id_0');
await page.click('id=select-br-id_0');
await page.fill("(//input[@id='input-name'])[2]", 'ค่าธรรมเนียมการเดินทาง');
await page.waitForTimeout(1000);
await page.waitForSelector("(//input[@id='select-br-id'])[2]");
await page.click("(//input[@id='select-br-id'])[2]");
await page.waitForSelector('id=select-br-id_1');
await page.click('id=select-br-id_1');
await page.waitForTimeout(1000);
// ส่วนข้อมูลราคา
await page.click("(//div[@role='listitem'])[2]");
await page.fill('id=input-price', '2000');
await page.fill('id=input-agent-price', '1000');
await page.fill('id=input-service-charge', '500');
await page.waitForTimeout(1000);
// // ส่วนข้อมูลเอกสาร
// await page.click("(//div[@role='listitem'])[3]");
// await page.waitForSelector("//div[normalize-space(text())='เลือกเอกสาร']");
// await page.click("//div[normalize-space(text())='เลือกเอกสาร']");
// await page.waitForSelector("(//div[@class='q-checkbox__bg absolute'])[1]");
// await page.click("(//div[@class='q-checkbox__bg absolute'])[1]");
await page.waitForTimeout(1000);
await page.click('id=btn-info-basic-save');
await page.waitForTimeout(2000);
// ตรวจสอบหน้าการเพิ่มสินค้า
const createProductAndService = page.locator(
"//div[normalize-space(text())='ค่าธรรมเนียมการเดินทาง']",
);
await expect(createProductAndService).toHaveText('ค่าธรรมเนียมการเดินทาง');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบสามารถเพิ่มสินค้าและบริการได้');
});
test('TC_3_3_012', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.click('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
// การเพิ่มสินค้า
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
await page.waitForTimeout(1000);
await page.click('id=btn-info-basic-save');
await page.waitForTimeout(2000);
const expectedErrors = [
{
locator: "(//div[@role='alert'])[1]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
{
locator: "(//div[@role='alert'])[2]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
];
for (const error of expectedErrors) {
const locator = page.locator(error.locator);
await expect(locator).toHaveText(error.message);
}
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบทำการแจ้งเตือนในกรณีที่ไม่กรอกข้อมูล');
});
test('TC_3_3_013', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.click('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
// การเพิ่มสินค้า
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
await page.fill("(//input[@id='input-name'])[2]", 'ธรรมเนียม');
await page.waitForTimeout(1000);
await page.click('id=btn-info-basic-save');
await page.waitForTimeout(2000);
const expectedErrors = [
{
locator: "(//div[@role='alert'])[1]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
];
for (const error of expectedErrors) {
const locator = page.locator(error.locator);
await expect(locator).toHaveText(error.message);
}
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบทำการแจ้งเตือนในกรณีที่ไม่เลือกรหัสสินค้า');
});
test('TC_3_3_014', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.click('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
// การเพิ่มสินค้า
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
await page.click("(//input[@id='select-br-id'])[1]");
await page.waitForSelector('id=select-br-id_0');
await page.click('id=select-br-id_0');
await page.waitForTimeout(1000);
await page.click('id=btn-info-basic-save');
await page.waitForTimeout(2000);
const expectedErrors = [
{
locator: "(//div[@role='alert'])[1]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
];
for (const error of expectedErrors) {
const locator = page.locator(error.locator);
await expect(locator).toHaveText(error.message);
}
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบทำการแจ้งเตือนในกรณีที่ไม่กรอกชื่อสินค้า');
});
test('TC_3_3_015', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.click('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
// การแก้ไขสินค้าและบริการ
await page.waitForSelector('id=btn-kebab-action-ค่าธรรมเนียมการเดินทาง');
await page.click('id=btn-kebab-action-ค่าธรรมเนียมการเดินทาง');
await page.waitForSelector('id=btn-kebab-edit-ค่าธรรมเนียมการเดินทาง');
await page.click('id=btn-kebab-edit-ค่าธรรมเนียมการเดินทาง');
await page.fill(
"(//input[@id='input-name'])[2]",
'ค่าธรรมเนียมประกันสังคม',
);
await page.waitForTimeout(1000);
await page.click('id=btn-info-basic-save');
// ตรวจสอบการแก้ไขสินค้าและบริการ
const editProductAndService = page.locator(
"//div[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
);
await expect(editProductAndService).toHaveText('ค่าธรรมเนียมประกันสังคม');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบสามารถแก้ไขสินค้าได้');
});
test('TC_3_3_016', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.click('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
// การเพิ่มสินค้า
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// เพิ่มสินค้าเพื่อทดสอบการลบ
await page.waitForSelector("(//input[@id='select-br-id'])[1]");
await page.click("(//input[@id='select-br-id'])[1]");
await page.waitForSelector('id=select-br-id_0');
await page.click('id=select-br-id_0');
await page.fill("(//input[@id='input-name'])[2]", 'ค่าธรรมเนียม MOU');
await page.waitForTimeout(1000);
await page.waitForSelector("(//input[@id='select-br-id'])[2]");
await page.click("(//input[@id='select-br-id'])[2]");
await page.waitForSelector('id=select-br-id_1');
await page.click('id=select-br-id_1');
await page.waitForTimeout(1000);
await page.click('id=btn-info-basic-save');
await page.waitForTimeout(2000);
// การลบสินค้า
await page.waitForSelector('id=btn-kebab-action-ค่าธรรมเนียม MOU');
await page.click('id=btn-kebab-action-ค่าธรรมเนียม MOU');
await page.waitForSelector('id=btn-kebab-delete-ค่าธรรมเนียม MOU');
await page.click('id=btn-kebab-delete-ค่าธรรมเนียม MOU');
await page.waitForSelector('id=btn-ok-dialog');
await page.click('id=btn-ok-dialog');
// ตรวจสอบการลบสินค้า
const deleteProductAndService = page.locator(
"//div[normalize-space(text())='ค่าธรรมเนียม MOU']",
);
await expect(deleteProductAndService).toBeHidden();
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบสามารถทำการลบสินค้าในกรณีที่ยังไม่มีการใช้งานได้');
});
test('TC_3_3_017', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
await page.click('id=tree-enter-สินค้าและบริการ-ค่าธรรมเนียม');
// การลบสินค้า
await page.waitForSelector('id=btn-kebab-action-ค่าธรรมเนียมประกันสังคม');
await page.click('id=btn-kebab-action-ค่าธรรมเนียมประกันสังคม');
await page.waitForSelector('id=btn-kebab-delete-ค่าธรรมเนียมประกันสังคม');
await page.click('id=btn-kebab-delete-ค่าธรรมเนียมประกันสังคม');
await page.waitForSelector('id=btn-ok-dialog');
await page.click('id=btn-ok-dialog');
await page.waitForTimeout(1000);
// ตรวจสอบการลบสินค้า
const popUpWraningDeleteProduct = page.locator(
"//span[normalize-space(text())='สินค้าและบริการใช้งานอยู่']",
);
await expect(popUpWraningDeleteProduct).toHaveText(
'สินค้าและบริการใช้งานอยู่',
);
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบไม่สามารถทำการลบสินค้าในกรณีที่มีการใช้งานได้');
});
test('TC_3_3_018', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ตรวจสอบหลังจากเปิดหน้าเพิ่มแพ็คเกจ
const pageCreatePackage = page.locator(
"//div[contains(@class,'col text-subtitle1')]",
);
await expect(pageCreatePackage).toHaveText('เพิ่มแพ็คเกจ');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบเข้าสู่หน้าเพิ่มแพ็คเกจ');
});
test('TC_3_3_019', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ส่วนข้อมูลแพ็คเกจ
await page.fill('id=input-service-code', 'MOU');
await page.fill('id=input-service-name', 'มติครม 2568');
// ส่วนข้อมูลงาน
await page.waitForSelector("(//div[@role='listitem'])[2]");
await page.click("(//div[@role='listitem'])[2]");
await page.click("(//button[@id='btn-add-work'])[1]");
await page.waitForSelector("//div[@for='select-work-name-1']");
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector("//button[contains(.,'จัดการ')]");
await page.click("//button[contains(.,'จัดการ')]");
await page.waitForSelector("//span[normalize-space(text())='เพิ่มงาน']");
await page.click("//span[normalize-space(text())='เพิ่มงาน']");
await page.fill('id=input-work-name-9', 'ค่าดำเนินการ');
await page.waitForSelector('id=btn-save-work-name');
await page.click('id=btn-save-work-name');
await page.waitForSelector("(//button[@id='btn-form-close'])[2]");
await page.click("(//button[@id='btn-form-close'])[2]");
await page.waitForTimeout(2000);
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector("//div[normalize-space(text())='ค่าดำเนินการ']");
await page.click("//div[normalize-space(text())='ค่าดำเนินการ']");
// เพิ่มสินค้า
await page.waitForSelector("(//button[@id='btn-add-work-product'])[1]");
await page.click("(//button[@id='btn-add-work-product'])[1]");
await page.waitForSelector(
"//div[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
);
await page.click(
"//div[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
);
await page.waitForTimeout(1000);
await page.click('id=btn-form-submit');
// เพิ่มขั้นตอนการทำงาน
await page.waitForTimeout(1000);
await page.waitForSelector("(//button[@id='btn-add-work-product'])[2]");
await page.click("(//button[@id='btn-add-work-product'])[2]");
await page.waitForSelector('id=undefined');
await page.click('id=undefined');
await page.waitForSelector('id=undefined_0');
await page.click('id=undefined_0');
await page.waitForSelector('id=btn-form-submit');
await page.click('id=btn-form-submit');
await page.waitForTimeout(1000);
await page.click('id=btn-info-basic-save');
// ตรวจสอบหลังจากเปิดหน้าเพิ่มแพ็คเกจ
const packageCreate = page.locator(
"//div[normalize-space(text())='มติครม 2568']",
);
await expect(packageCreate).toHaveText('มติครม 2568');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบสามารเพิ่มแพ็คเกจได้');
});
test('TC_3_3_020', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
await page.click('id=btn-info-basic-save');
const expectedErrors = [
{
locator: "(//div[@role='alert'])[1]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
{
locator: "(//div[@role='alert'])[2]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
];
for (const error of expectedErrors) {
const locator = page.locator(error.locator);
await expect(locator).toHaveText(error.message);
}
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบแจ้งเตือนในกรณีที่ไม่กรอกข้อมูล');
});
test('TC_3_3_021', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
await page.fill('id=input-service-name', 'มติ ครม');
await page.click('id=btn-info-basic-save');
const expectedErrors = [
{
locator: "(//div[@role='alert'])[1]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
];
for (const error of expectedErrors) {
const locator = page.locator(error.locator);
await expect(locator).toHaveText(error.message);
}
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบแจ้งเตือนในกรณีที่ไม่กรอกรหัสแพ็คเกจ');
});
test('TC_3_3_022', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
await page.fill('id=input-service-code', 'MOU');
await page.click('id=btn-info-basic-save');
const expectedErrors = [
{
locator: "(//div[@role='alert'])[1]",
message: 'จำเป็นต้องกรอกข้อมูลนี้',
},
];
for (const error of expectedErrors) {
const locator = page.locator(error.locator);
await expect(locator).toHaveText(error.message);
}
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบแจ้งเตือนในกรณีที่ไม่กรอกชื่อแพ็คเกจ');
});
test('TC_3_3_023', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
await page.fill('id=input-service-code', 'MOU');
await page.fill('id=input-service-name', 'มติ ครม');
await page.click('id=btn-info-basic-save');
// ตรวจสอบการแจ้งเตือน
const headPopUpError = page.locator(
"//span[normalize-space(text())='แจ้งเตือน']",
);
const popUpDetailError = page.locator(
"//span[normalize-space(text())='ข้อมูลงวดไม่ถูกต้อง กรุณาตรวจสอบและยืนยันว่าแต่ละงวดมีสินค้าอย่างน้อยหนึ่งรายการ']",
);
await expect(headPopUpError).toHaveText('แจ้งเตือน');
await expect(popUpDetailError).toHaveText(
'ข้อมูลงวดไม่ถูกต้อง กรุณาตรวจสอบและยืนยันว่าแต่ละงวดมีสินค้าอย่างน้อยหนึ่งรายการ',
);
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบแจ้งเตือนในกรณีที่ไม่กรอกข้อมูลส่วนข้อมูลงาน');
});
test('TC_3_3_024', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ส่วนข้อมูลแพ็คเกจ
await page.fill('id=input-service-code', 'MOU');
await page.fill('id=input-service-name', 'มติครม 2568');
// ส่วนข้อมูลงาน
await page.waitForSelector("(//div[@role='listitem'])[2]");
await page.click("(//div[@role='listitem'])[2]");
await page.click("(//button[@id='btn-add-work'])[1]");
await page.waitForSelector("//div[@for='select-work-name-1']");
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector("//button[contains(.,'จัดการ')]");
await page.click("//button[contains(.,'จัดการ')]");
await page.waitForSelector("//span[normalize-space(text())='เพิ่มงาน']");
await page.click("//span[normalize-space(text())='เพิ่มงาน']");
await page.fill('id=input-work-name-10', 'ยื่นคำร้อง');
await page.waitForSelector('id=btn-save-work-name');
await page.click('id=btn-save-work-name');
await page.waitForSelector("(//button[@id='btn-form-close'])[2]");
await page.click("(//button[@id='btn-form-close'])[2]");
await page.waitForTimeout(2000);
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector("//div[normalize-space(text())='ยื่นคำร้อง']");
await page.click("//div[normalize-space(text())='ยื่นคำร้อง']");
// ตรวจสอบหลังจากเปิดหน้าเพิ่มแพ็คเกจ
const createNameWork = page.locator(
"(//span[@class='app-text-muted-2'])[1]",
);
await expect(createNameWork).toHaveText('ยื่นคำร้อง');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบทำการเลือกงานในแพ็คเกจได้');
});
test('TC_3_3_025', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ส่วนข้อมูลแพ็คเกจ
await page.fill('id=input-service-code', 'MOU');
await page.fill('id=input-service-name', 'มติครม 2568');
// ส่วนข้อมูลงาน
await page.waitForSelector("(//div[@role='listitem'])[2]");
await page.click("(//div[@role='listitem'])[2]");
await page.click("(//button[@id='btn-add-work'])[1]");
await page.waitForSelector("//div[@for='select-work-name-1']");
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector(
"//div[normalize-space(text())='ค่าธรรมเนียมรวม']",
);
await page.click("//div[normalize-space(text())='ค่าธรรมเนียมรวม']");
// เพิ่มสินค้า
await page.waitForSelector("(//button[@id='btn-add-work-product'])[1]");
await page.click("(//button[@id='btn-add-work-product'])[1]");
// ตรวจสอบหลังจากเปิดหน้าเพิ่มแพ็คเกจ
const pageProduct = page.locator(
"(//div[contains(@class,'col text-subtitle1')])[2]",
);
await expect(pageProduct).toHaveText('สินค้าและบริการทั้งหมด');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบแสดงหน้าสินค้าและบริการในแพ็คเกจ');
});
test('TC_3_3_026', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ส่วนข้อมูลแพ็คเกจ
await page.fill('id=input-service-code', 'MOU');
await page.fill('id=input-service-name', 'มติครม 2568');
// ส่วนข้อมูลงาน
await page.waitForSelector("(//div[@role='listitem'])[2]");
await page.click("(//div[@role='listitem'])[2]");
await page.click("(//button[@id='btn-add-work'])[1]");
await page.waitForSelector("//div[@for='select-work-name-1']");
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector("//button[contains(.,'จัดการ')]");
await page.click("//button[contains(.,'จัดการ')]");
await page.waitForSelector("//span[normalize-space(text())='เพิ่มงาน']");
await page.click("//span[normalize-space(text())='เพิ่มงาน']");
await page.fill('id=input-work-name-11', 'ค่าธรรมเนียมรวม');
await page.waitForSelector('id=btn-save-work-name');
await page.click('id=btn-save-work-name');
await page.waitForSelector("(//button[@id='btn-form-close'])[2]");
await page.click("(//button[@id='btn-form-close'])[2]");
await page.waitForTimeout(2000);
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector(
"//div[normalize-space(text())='ค่าธรรมเนียมรวม']",
);
await page.click("//div[normalize-space(text())='ค่าธรรมเนียมรวม']");
// เพิ่มสินค้า
await page.waitForSelector("(//button[@id='btn-add-work-product'])[1]");
await page.click("(//button[@id='btn-add-work-product'])[1]");
await page.waitForSelector(
"//div[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
);
await page.click(
"//div[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
);
await page.waitForTimeout(1000);
await page.click('id=btn-form-submit');
// ตรวจสอบหลังจากเปิดหน้าเพิ่มแพ็คเกจ
const createProduct = page.locator(
"//span[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
);
await expect(createProduct).toHaveText('ค่าธรรมเนียมประกันสังคม');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบทำการเพิ่มสินค้าในแพ็คเกจได้');
});
test('TC_3_3_027', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ส่วนข้อมูลแพ็คเกจ
await page.fill('id=input-service-code', 'MOU');
await page.fill('id=input-service-name', 'มติครม 2568');
// ส่วนข้อมูลงาน
await page.waitForSelector("(//div[@role='listitem'])[2]");
await page.click("(//div[@role='listitem'])[2]");
await page.click("(//button[@id='btn-add-work'])[1]");
await page.waitForSelector("//div[@for='select-work-name-1']");
await page.waitForTimeout(2000);
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector(
"//div[normalize-space(text())='ค่าธรรมเนียมรวม']",
);
await page.click("//div[normalize-space(text())='ค่าธรรมเนียมรวม']");
// เพิ่มขั้นตอนการทำงาน
await page.waitForTimeout(1000);
await page.waitForSelector("(//button[@id='btn-add-work-product'])[2]");
await page.click("(//button[@id='btn-add-work-product'])[2]");
// ตรวจสอบหลังจากเปิดหน้าเพิ่มแพ็คเกจ
const pageProperties = page.locator(
"(//div[contains(@class,'col text-subtitle1')])[2]",
);
await expect(pageProperties).toHaveText('คุณสมบัติ');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบแสดงหน้าคุณสมบัติ');
});
test('TC_3_3_028', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ส่วนข้อมูลแพ็คเกจ
await page.fill('id=input-service-code', 'MOU');
await page.fill('id=input-service-name', 'มติครม 2568');
// ส่วนข้อมูลงาน
await page.waitForSelector("(//div[@role='listitem'])[2]");
await page.click("(//div[@role='listitem'])[2]");
await page.click("(//button[@id='btn-add-work'])[1]");
await page.waitForSelector("//div[@for='select-work-name-1']");
await page.waitForTimeout(2000);
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector(
"//div[normalize-space(text())='ค่าธรรมเนียมรวม']",
);
await page.click("//div[normalize-space(text())='ค่าธรรมเนียมรวม']");
// เพิ่มขั้นตอนการทำงาน
await page.waitForTimeout(1000);
await page.waitForSelector("(//button[@id='btn-add-work-product'])[2]");
await page.click("(//button[@id='btn-add-work-product'])[2]");
await page.waitForSelector('id=undefined');
await page.click('id=undefined');
await page.waitForSelector('id=undefined_0');
await page.click('id=undefined_0');
await page.waitForSelector('id=btn-form-submit');
await page.click('id=btn-form-submit');
// ตรวจสอบหลังจากเปิดหน้าเพิ่มแพ็คเกจ
const createProperties = page.locator(
"//span[@class='app-text-muted']/following-sibling::span[1]",
);
await expect(createProperties).toBeVisible();
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบสามารถเพิ่มแม่แบบขั้นตอนการทำงานในแพ็คเกจได้');
});
test('TC_3_3_029', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ส่วนข้อมูลแพ็คเกจ
await page.fill('id=input-service-code', 'MOU');
await page.fill('id=input-service-name', 'มติครม 2568');
// ส่วนข้อมูลงาน
await page.waitForSelector("(//div[@role='listitem'])[2]");
await page.click("(//div[@role='listitem'])[2]");
await page.click("(//button[@id='btn-add-work'])[1]");
await page.waitForSelector("//div[@for='select-work-name-1']");
await page.waitForTimeout(2000);
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector(
"//div[normalize-space(text())='ค่าธรรมเนียมรวม']",
);
await page.click("//div[normalize-space(text())='ค่าธรรมเนียมรวม']");
// เพิ่มขั้นตอนการทำงาน
await page.waitForTimeout(1000);
await page.waitForSelector("(//button[@id='btn-add-work-product'])[2]");
await page.click("(//button[@id='btn-add-work-product'])[2]");
await page.waitForSelector('id=undefined');
await page.click('id=undefined');
await page.waitForSelector('id=undefined_0');
await page.click('id=undefined_0');
await page.waitForTimeout(2000);
await page.click("(//button[@aria-expanded='false'])[2]");
await page.waitForSelector('id=list-workerStatus');
await page.click('id=list-workerStatus');
await page.click('id=list-contactChannel');
await page.waitForTimeout(1000);
await page.waitForSelector('id=btn-form-submit');
await page.click('id=btn-form-submit');
// ตรวจสอบหลังจากเปิดหน้าเพิ่มแพ็คเกจ
const propertiesWorkerStatus = page.locator(
"(//span[contains(@class,'surface-2 bordered')])[3]",
);
const propertiesContactChannel = page.locator(
"(//span[contains(@class,'surface-2 bordered')]/following-sibling::span)[3]",
);
await expect(propertiesWorkerStatus).toHaveText('สถานะคนงาน');
await expect(propertiesContactChannel).toHaveText('ช่องทางการติดต่อ');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบสามารถเพิ่มคุณสมบัติในแม่แบบขั้นตอนในแพ็คเกจได้');
});
test('TC_3_3_030', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การแก้ไขแพ็คเกจ
await page.click("//button[@id='btn-kebab-action-มติครม 2568']");
await page.waitForSelector("//div[@id='btn-kebab-edit-มติครม 2568']");
await page.click("//div[@id='btn-kebab-edit-มติครม 2568']");
await page.fill('id=input-service-name', 'มติครม ประจำปี 2568');
await page.waitForTimeout(1000);
await page.click('id=btn-info-basic-save');
const editPackageCheck = page.locator(
"//div[normalize-space(text())='มติครม ประจำปี 2568']",
);
await expect(editPackageCheck).toHaveText('มติครม ประจำปี 2568');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบสามารถแก้ไขแพ็คเกจได้');
});
test('TC_3_3_031', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
// เข้าสู่หน้าสินค้าและบริการ
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-productService');
await page.click('id=sub-menu-productService');
// การเข้าสู่หน้าสินค้าและบริการ
await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
await page.click('id=tree-enter-ค่าธรรมเนียม');
await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// การเข้าสู่หน้าเพิ่มแพ็คเกจ
await page.waitForSelector('id=btn-add');
await page.click('id=btn-add');
// ส่วนข้อมูลแพ็คเกจ
await page.fill('id=input-service-code', 'MOU');
await page.fill('id=input-service-name', 'มติครม 2567');
// ส่วนข้อมูลงาน
await page.waitForSelector("(//div[@role='listitem'])[2]");
await page.click("(//div[@role='listitem'])[2]");
await page.click("(//button[@id='btn-add-work'])[1]");
await page.waitForSelector("//div[@for='select-work-name-1']");
await page.click("//div[@for='select-work-name-1']");
await page.waitForSelector("//div[normalize-space(text())='ค่าดำเนินการ']");
await page.click("//div[normalize-space(text())='ค่าดำเนินการ']");
// เพิ่มสินค้า
await page.waitForSelector("(//button[@id='btn-add-work-product'])[1]");
await page.click("(//button[@id='btn-add-work-product'])[1]");
await page.waitForSelector(
"//div[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
);
await page.click(
"//div[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
);
await page.waitForTimeout(1000);
await page.click('id=btn-form-submit');
// เพิ่มขั้นตอนการทำงาน
await page.waitForTimeout(1000);
await page.waitForSelector("(//button[@id='btn-add-work-product'])[2]");
await page.click("(//button[@id='btn-add-work-product'])[2]");
await page.waitForSelector('id=undefined');
await page.click('id=undefined');
await page.waitForSelector('id=undefined_0');
await page.click('id=undefined_0');
await page.waitForSelector('id=btn-form-submit');
await page.click('id=btn-form-submit');
await page.waitForTimeout(1000);
await page.click('id=btn-info-basic-save');
// การทำการลบแพ็คเกจ
await page.waitForSelector("//button[@id='btn-kebab-action-มติครม 2567']");
await page.click("//button[@id='btn-kebab-action-มติครม 2567']");
await page.waitForSelector("//div[@id='btn-kebab-delete-มติครม 2567']");
await page.click("//div[@id='btn-kebab-delete-มติครม 2567']");
await page.waitForSelector('id=btn-ok-dialog');
await page.click('id=btn-ok-dialog');
// ตรวจสอบหลังจากทำการลบแพ็คเกจ
const deletedPackageCompleted = page.locator(
"//div[normalize-space(text())='มติครม 2567']",
);
await expect(deletedPackageCompleted).toBeHidden();
} catch (error) {
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
isLoginSuccessful = false;
throw error;
}
await page.waitForTimeout(2000);
console.log('ระบบสามารถทำการลบแพ็คเกจในกรณีที่ยังไม่มีการใช้งานได้');
});
// test('TC_3_3_032', async () => {
// if (!isLoginSuccessful) {
// await login(page);
// }
// try {
// // เข้าสู่หน้าสินค้าและบริการ
// await page.click('id=menu.manage');
// await page.waitForSelector('id=sub-menu-productService');
// await page.click('id=sub-menu-productService');
// // การเข้าสู่หน้าสินค้าและบริการ
// await page.waitForSelector('id=tree-enter-ค่าธรรมเนียม');
// await page.click('id=tree-enter-ค่าธรรมเนียม');
// await page.waitForSelector('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// await page.click('id=tree-enter-แพ็คเกจ-ค่าธรรมเนียม');
// // การเข้าสู่หน้าเพิ่มแพ็คเกจ
// await page.waitForSelector('id=btn-add');
// await page.click('id=btn-add');
// // ส่วนข้อมูลแพ็คเกจ
// await page.fill('id=input-service-code', 'MOU');
// await page.fill('id=input-service-name', 'มติครม 2567');
// // ส่วนข้อมูลงาน
// await page.waitForSelector("(//div[@role='listitem'])[2]");
// await page.click("(//div[@role='listitem'])[2]");
// await page.click("(//button[@id='btn-add-work'])[1]");
// await page.waitForSelector("//div[@for='select-work-name-1']");
// await page.click("//div[@for='select-work-name-1']");
// await page.waitForSelector("//div[normalize-space(text())='ค่าดำเนินการ']");
// await page.click("//div[normalize-space(text())='ค่าดำเนินการ']");
// // เพิ่มสินค้า
// await page.waitForSelector("(//button[@id='btn-add-work-product'])[1]");
// await page.click("(//button[@id='btn-add-work-product'])[1]");
// await page.waitForSelector(
// "//div[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
// );
// await page.click(
// "//div[normalize-space(text())='ค่าธรรมเนียมประกันสังคม']",
// );
// await page.waitForTimeout(1000);
// await page.click('id=btn-form-submit');
// // เพิ่มขั้นตอนการทำงาน
// await page.waitForTimeout(1000);
// await page.waitForSelector("(//button[@id='btn-add-work-product'])[2]");
// await page.click("(//button[@id='btn-add-work-product'])[2]");
// await page.waitForSelector('id=undefined');
// await page.click('id=undefined');
// await page.waitForSelector('id=undefined_0');
// await page.click('id=undefined_0');
// await page.waitForSelector('id=btn-form-submit');
// await page.click('id=btn-form-submit');
// await page.waitForTimeout(1000);
// await page.click('id=btn-info-basic-save');
// // การทำการลบแพ็คเกจ
// await page.waitForSelector("//button[@id='btn-kebab-action-มติครม 2567']");
// await page.click("//button[@id='btn-kebab-action-มติครม 2567']");
// await page.waitForSelector("//div[@id='btn-kebab-delete-มติครม 2567']");
// await page.click("//div[@id='btn-kebab-delete-มติครม 2567']");
// await page.waitForSelector('id=btn-ok-dialog');
// await page.click('id=btn-ok-dialog');
// // ตรวจสอบหลังจากทำการลบแพ็คเกจ
// const deletedPackageCompleted = page.locator(
// "//div[normalize-space(text())='มติครม 2567']",
// );
// await expect(deletedPackageCompleted).toBeHidden();
// } catch (error) {
// console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
// isLoginSuccessful = false;
// throw error;
// }
// await page.waitForTimeout(2000);
// console.log('ระบบสามารถทำการลบแพ็คเกจในกรณีที่ยังไม่มีการใช้งานได้');
// });