1277 lines
57 KiB
TypeScript
1277 lines
57 KiB
TypeScript
import { test, expect, Page } from '@playwright/test';
|
|
import { fakerEN, fakerTH } from '@faker-js/faker';
|
|
import e from 'express';
|
|
import { isAwaitExpression } from 'typescript';
|
|
import { parseCache } from 'vue/compiler-sfc';
|
|
import AppDropdown from 'src/components/app/AppDropdown.vue';
|
|
|
|
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');
|
|
// เข้าสู่หน้าแม่แบบขั้นตอนการทำงาน
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-workflow');
|
|
await page.click('id=sub-menu-workflow');
|
|
|
|
// ถ้าทั้งหมดสำเร็จ
|
|
isLoginSuccessful = true;
|
|
console.log('ระบบทำการ Login สำเร็จ');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการ Login');
|
|
isLoginSuccessful = false;
|
|
}
|
|
}
|
|
test('Login', async () => {
|
|
await login(page);
|
|
});
|
|
|
|
test('TC_2_0_001', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
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_2_0_002', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
const titleNameProductAndService = page.locator(
|
|
"//div[contains(@class,'col text-subtitle1')]",
|
|
);
|
|
await expect(titleNameProductAndService).toHaveText(
|
|
'แม่แบบขั้นตอนการทำงาน',
|
|
);
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.click('id=btn-form-close');
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าเพิ่มแม่แบบขั้นตอนการทำงาน');
|
|
});
|
|
|
|
test('TC_2_0_003', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'การดำเนินการ 2568',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.click('id=select-responsible-person-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.click('id=select-responsible-institution-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-institution-0-AGE-dialog']//div)[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-institution-0-AGE-dialog']//div)[1]",
|
|
);
|
|
await page.waitForSelector('id=btn-add-work-product-0-dialog');
|
|
await page.click('id=btn-add-work-product-0-dialog');
|
|
await page.waitForSelector('id=select-step');
|
|
await page.click('id=select-step');
|
|
await page.waitForSelector('id=list-messenger');
|
|
await page.click('id=list-messenger');
|
|
await page.waitForSelector('id=btn-form-submit');
|
|
await page.click('id=btn-form-submit');
|
|
await page.waitForTimeout(1000);
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
|
|
const createWorkflowName = page.locator(
|
|
"//section[normalize-space(text())='การดำเนินการ 2568']",
|
|
);
|
|
await expect(createWorkflowName).toHaveText('การดำเนินการ 2568');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถสร้างแม่แบบขั้นตอนการทำงานได้');
|
|
});
|
|
|
|
test('TC_2_0_004', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
|
|
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.click('id=btn-form-close');
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการแจ้งเตือนในกรณีที่ไม่กรอกข้อมูล');
|
|
});
|
|
|
|
test('TC_2_0_005', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
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']");
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าแก้ไขแม่แบบขั้นตอนการทำงานได้');
|
|
});
|
|
|
|
test('TC_2_0_006', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
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(
|
|
"//input[@aria-label='ชื่อขั้นตอน']",
|
|
'การดำเนินการ ตามมติ 2568',
|
|
);
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
const editWorkFlow = page.locator(
|
|
"//td[contains(.,'การดำเนินการ ตามมติ 2568')]",
|
|
);
|
|
await expect(editWorkFlow).toHaveText('การดำเนินการ ตามมติ 2568');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถแก้ไขแม่แบบขั้นตอนการทำงานได้');
|
|
});
|
|
|
|
test('TC_2_0_007', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.click(
|
|
"//button[@id='btn-kebab-action-การดำเนินการ ตามมติ 2568']",
|
|
);
|
|
await page.waitForSelector(
|
|
"//div[@id='btn-kebab-delete-การดำเนินการ ตามมติ 25688']",
|
|
);
|
|
await page.click("//div[@id='btn-kebab-delete-การดำเนินการ ตามมติ 25688']");
|
|
await page.waitForSelector('id=btn-ok-dialog');
|
|
await page.click('id=btn-ok-dialog');
|
|
|
|
const deletedWorkFlow = page.locator(
|
|
"//td[contains(.,'การดำเนินการ ตามมติ 2568')]",
|
|
);
|
|
await expect(deletedWorkFlow).toBeHidden();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถลบแม่แบบขั้นตอนการทำงานได้');
|
|
});
|
|
|
|
test('TC_2_0_008', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'การดำเนินการ 2568',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.click('id=select-responsible-person-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.click('id=select-responsible-institution-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-institution-0-AGE-dialog']//div)[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-institution-0-AGE-dialog']//div)[1]",
|
|
);
|
|
await page.waitForSelector('id=btn-add-work-product-0-dialog');
|
|
await page.click('id=btn-add-work-product-0-dialog');
|
|
await page.waitForSelector('id=select-step');
|
|
await page.click('id=select-step');
|
|
await page.waitForSelector('id=list-messenger');
|
|
await page.click('id=list-messenger');
|
|
await page.waitForSelector('id=btn-form-submit');
|
|
await page.click('id=btn-form-submit');
|
|
await page.waitForTimeout(1000);
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
|
|
//-----------------------------ทดสอลการสร้างชื่อซ้ำ-------------------------------------
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'การดำเนินการ 2568',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.click('id=select-responsible-person-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.click('id=select-responsible-institution-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-institution-0-AGE-dialog']//div)[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-institution-0-AGE-dialog']//div)[1]",
|
|
);
|
|
await page.waitForSelector('id=btn-add-work-product-0-dialog');
|
|
await page.click('id=btn-add-work-product-0-dialog');
|
|
await page.waitForSelector('id=select-step');
|
|
await page.click('id=select-step');
|
|
await page.waitForSelector('id=list-messenger');
|
|
await page.click('id=list-messenger');
|
|
await page.waitForSelector('id=btn-form-submit');
|
|
await page.click('id=btn-form-submit');
|
|
await page.waitForTimeout(1000);
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
|
|
// ตรวจสอบการสร้างชื่อซำ้
|
|
const workflowSameNameError = page.locator(
|
|
"//span[normalize-space(text())='ชื่อนี้ถูกใช้ไปแล้ว']",
|
|
);
|
|
await expect(workflowSameNameError).toHaveText('ชื่อนี้ถูกใช้ไปแล้ว');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแจ้งเตือนในกรณีที่สร้างชื่อแม่แบบขั้นตอนการทำงานซ้ำกัน');
|
|
});
|
|
|
|
test('TC_2_0_009', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'การดำเนินการ 2568',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
|
|
const pageCreateWorkFlowFirst = page.locator("(//div[@id='item-up'])[2]");
|
|
await expect(pageCreateWorkFlowFirst).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงขั้นตอนการทำงานขั้นตอนที่ 1');
|
|
await page.click('id=btn-form-close');
|
|
});
|
|
|
|
test('TC_2_0_010', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'การประเมิน 2568',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.click('id=select-responsible-person-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.click('id=select-responsible-institution-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-institution-0-AGE-dialog']//div)[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-institution-0-AGE-dialog']//div)[1]",
|
|
);
|
|
await page.waitForSelector('id=btn-add-work-product-0-dialog');
|
|
await page.click('id=btn-add-work-product-0-dialog');
|
|
await page.waitForSelector('id=select-step');
|
|
await page.click('id=select-step');
|
|
await page.waitForSelector('id=list-messenger');
|
|
await page.click('id=list-messenger');
|
|
await page.waitForSelector('id=btn-form-submit');
|
|
await page.click('id=btn-form-submit');
|
|
await page.waitForTimeout(1000);
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
|
|
const createWorkflowName = page.locator(
|
|
"//section[normalize-space(text())='การประเมิน 2568']",
|
|
);
|
|
await expect(createWorkflowName).toHaveText('การประเมิน 2568');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการสร้างแม่แบบขั้นตอนการทำงาน');
|
|
});
|
|
|
|
test('TC_2_0_011', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// แก้ไขแขั้นตอนการทำงาน
|
|
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']");
|
|
const pageEditWorkFlowFirst = page.locator(
|
|
"(//div[@id='item-up']//div)[1]",
|
|
);
|
|
await expect(pageEditWorkFlowFirst).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าแก้ไขขั้นตอนการทำงาน');
|
|
});
|
|
|
|
test('TC_2_0_012', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// แก้ไขแขั้นตอนการทำงาน
|
|
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.waitForSelector('id=btn-add-work-product-0-dialog');
|
|
await page.click('id=btn-add-work-product-0-dialog');
|
|
await page.waitForSelector('id=select-step');
|
|
await page.click('id=select-step');
|
|
await page.waitForSelector('id=list-designForm');
|
|
await page.click('id=list-designForm');
|
|
await page.waitForSelector('id=list-quotationNo');
|
|
await page.click('id=list-quotationNo');
|
|
await page.waitForSelector('id=btn-form-submit');
|
|
await page.click('id=btn-form-submit');
|
|
await page.waitForSelector('id=select-responsible-institution-0-drawer');
|
|
await page.click('id=select-responsible-institution-0-drawer');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-institution-0-DOE-drawer']//div)[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-institution-0-DOE-drawer']//div)[1]",
|
|
);
|
|
await page.waitForTimeout(1000);
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(1000);
|
|
await page.click("//button[@id='btn-kebab-action-การประเมิน 2568']");
|
|
|
|
await page.waitForSelector(
|
|
"//div[@id='btn-kebab-view-detail-การประเมิน 2568']",
|
|
);
|
|
await page.click("//div[@id='btn-kebab-view-detail-การประเมิน 2568']");
|
|
const editWorkFlowFirst = page.locator(
|
|
"//span[normalize-space(text())='ออกแบบฟอร์ม']",
|
|
);
|
|
const editWorkFlowSeconde = page.locator(
|
|
"//span[normalize-space(text())='Quotation No.']",
|
|
);
|
|
const editWorkFlowAgencies = page.locator(
|
|
"//span[normalize-space(text())='จัดหางานพื้นที่']",
|
|
);
|
|
|
|
await expect(editWorkFlowFirst).toBeVisible();
|
|
await expect(editWorkFlowSeconde).toBeVisible();
|
|
await expect(editWorkFlowAgencies).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถแก้ไขขั้นตอนการทำงานได้');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_013', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// ลบขั้นตอนการทำงาน
|
|
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.waitForSelector('id=btn-delete-work');
|
|
await page.click('id=btn-delete-work');
|
|
await page.waitForTimeout(1000);
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(1000);
|
|
await page.click(
|
|
"//button[@id='btn-kebab-action-cm78fi5u50004lj1yczab47oa']",
|
|
);
|
|
await page.waitForSelector(
|
|
"//div[@id='btn-kebab-view-detail-การประเมิน 2568']",
|
|
);
|
|
await page.click("//div[@id='btn-kebab-view-detail-การประเมิน 2568']");
|
|
|
|
const deleteProcessStep = page.locator("(//div[@id='item-up']//div)[1]");
|
|
|
|
await expect(deleteProcessStep).toBeHidden();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถลบขั้นตอนการทำงานได้');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_014', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'การดำเนินการ 2567',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.fill("(//textarea[@aria-label='รายละเอียด'])[2]", 'รายละเอียด');
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
await page.waitForTimeout(1000);
|
|
await page.click("//button[@id='btn-kebab-action-การดำเนินการ 2567']");
|
|
await page.waitForSelector(
|
|
"//div[@id='btn-kebab-view-detail-การดำเนินการ 2567']",
|
|
);
|
|
await page.click("//div[@id='btn-kebab-view-detail-การดำเนินการ 2567']");
|
|
|
|
const detailProcessStep = page.locator(
|
|
"//div[normalize-space(text())='รายละเอียด']",
|
|
);
|
|
await expect(detailProcessStep).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารบันทึกรายละเอียดได้');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_015', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
await page.click("//button[@id='btn-kebab-action-การดำเนินการ 2567']");
|
|
await page.waitForSelector("//div[@id='btn-kebab-edit-การดำเนินการ 2567']");
|
|
await page.click("//div[@id='btn-kebab-edit-การดำเนินการ 2567']");
|
|
await page.fill(
|
|
"//div[normalize-space(text())='รายละเอียด']",
|
|
'แก้ไขรายละเอียด',
|
|
);
|
|
await page.waitForTimeout(1000);
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(1000);
|
|
await page.click("//button[@id='btn-kebab-action-การดำเนินการ 2567']");
|
|
await page.waitForSelector(
|
|
"//div[@id='btn-kebab-view-detail-การดำเนินการ 2567']",
|
|
);
|
|
await page.click("//div[@id='btn-kebab-view-detail-การดำเนินการ 2567']");
|
|
|
|
const detailProcessStep = page.locator(
|
|
"//div[normalize-space(text())='รายละเอียด']",
|
|
);
|
|
await expect(detailProcessStep).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารแก้ไขรายละเอียดได้');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_016', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
await page.click("//button[@id='btn-kebab-action-การดำเนินการ 2567']");
|
|
await page.waitForSelector("//div[@id='btn-kebab-edit-การดำเนินการ 2567']");
|
|
await page.click("//div[@id='btn-kebab-edit-การดำเนินการ 2567']");
|
|
await page.fill("//div[normalize-space(text())='รายละเอียด']", '');
|
|
await page.waitForTimeout(1000);
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(1000);
|
|
await page.click("//button[@id='btn-kebab-action-การดำเนินการ 2567']");
|
|
await page.waitForSelector(
|
|
"//div[@id='btn-kebab-view-detail-การดำเนินการ 2567']",
|
|
);
|
|
await page.click("//div[@id='btn-kebab-view-detail-การดำเนินการ 2567']");
|
|
|
|
const deleteDetailProcessStep = page.locator(
|
|
"//div[normalize-space(text())='รายละเอียด']",
|
|
);
|
|
await expect(deleteDetailProcessStep).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log(
|
|
'ระบบสามารลบรายละเอียดได้โดยในรายละเอียดหากไม่มีข้อมูลจะแสดง "-"',
|
|
);
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_017', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'ขั้นตอนการเตรียมเอกสารประกันสังคม',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.click('id=select-responsible-person-0-dialog');
|
|
|
|
const nameResoinsiblePerson = page.locator("(//div[@role='menu']//div)[1]");
|
|
await expect(nameResoinsiblePerson).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงรายชื่อบุคลากรเพื่อให้เลิือกผู้รับผิดชอบ');
|
|
await page.keyboard.press('Escape');
|
|
await page.click('id=btn-form-close');
|
|
});
|
|
|
|
test('TC_2_0_018', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'ขั้นตอนการเตรียมเอกสารประกันสังคม',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.click('id=select-responsible-person-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-person-0-กานดา-dialog'])[1]",
|
|
);
|
|
await page.waitForSelector("(//button[@id='btn-info-basic-save'])[2]");
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
|
|
// ดูรายละเอียกหลังเพิ่มผู้รับผิดชอบ
|
|
await page.waitForTimeout(1000);
|
|
await page.click(
|
|
"//button[@id='btn-kebab-action-ขั้นตอนการเตรียมเอกสารประกันสังคม']",
|
|
);
|
|
await page.waitForSelector(
|
|
"//div[@id='btn-kebab-view-detail-ขั้นตอนการเตรียมเอกสารประกันสังคม']",
|
|
);
|
|
await page.click(
|
|
"//div[@id='btn-kebab-view-detail-ขั้นตอนการเตรียมเอกสารประกันสังคม']",
|
|
);
|
|
|
|
const nameResoinsiblePersonCreate = page.locator(
|
|
"//div[@class='column q-pl-md']",
|
|
);
|
|
await expect(nameResoinsiblePersonCreate).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถเพิ่มผู้รับผิดชอบได้');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_019', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// แก้ไขผู้รับผิดชอบ
|
|
await page.click('id=btn-kebab-action-ขั้นตอนการเตรียมเอกสารประกันสังคม');
|
|
await page.waitForSelector(
|
|
'id=btn-kebab-edit-ขั้นตอนการเตรียมเอกสารประกันสังคม',
|
|
);
|
|
await page.click('id=btn-kebab-edit-ขั้นตอนการเตรียมเอกสารประกันสังคม');
|
|
await page.click('id=select-responsible-person-0-drawer');
|
|
await page.waitForSelector('id=select-responsible-person-0-สามารถ-drawer');
|
|
await page.click('id=select-responsible-person-0-สามารถ-drawer');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-person-0-กานดา-drawer'])[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-person-0-กานดา-drawer'])[1]",
|
|
);
|
|
await page.waitForTimeout(1000);
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ดูรายละเอียดหลังแก้ไขผู้รับผิดชอบ
|
|
|
|
await page.click("id=btn-kebab-action-ขั้นตอนการเตรียมเอกสารประกันสังคม'");
|
|
await page.waitForSelector(
|
|
'id=btn-kebab-view-detail-ขั้นตอนการเตรียมเอกสารประกันสังคม',
|
|
);
|
|
await page.click(
|
|
'id=btn-kebab-view-detail-ขั้นตอนการเตรียมเอกสารประกันสังคม',
|
|
);
|
|
|
|
const nameResoinsiblePersonEdit = page.locator(
|
|
"//div[@class='column q-pl-md']",
|
|
);
|
|
await expect(nameResoinsiblePersonEdit).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถแก้ไขผู้รับผิดชอบได้');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_020', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// แก้ไขผู้รับผิดชอบ
|
|
await page.click('id=btn-kebab-action-ขั้นตอนการเตรียมเอกสารประกันสังคม');
|
|
await page.waitForSelector(
|
|
'id=btn-kebab-edit-ขั้นตอนการเตรียมเอกสารประกันสังคม',
|
|
);
|
|
await page.click('id=btn-kebab-edit-ขั้นตอนการเตรียมเอกสารประกันสังคม');
|
|
await page.click('id=select-responsible-person-0-drawer');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-person-0-กานดา-drawer'])[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-person-0-กานดา-drawer'])[1]",
|
|
);
|
|
await page.waitForTimeout(1000);
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ดูรายละเอียดหลังลบผู้รับผิดชอบ
|
|
await page.click('id=btn-kebab-action-ขั้นตอนการเตรียมเอกสารประกันสังคม');
|
|
await page.waitForSelector(
|
|
'id=btn-kebab-view-detail-ขั้นตอนการเตรียมเอกสารประกันสังคม',
|
|
);
|
|
await page.click(
|
|
'id=btn-kebab-view-detail-ขั้นตอนการเตรียมเอกสารประกันสังคม',
|
|
);
|
|
|
|
const nameResoinsiblePersonEdit = page.locator(
|
|
"//div[@class='column q-pl-md']",
|
|
);
|
|
await expect(nameResoinsiblePersonEdit).toBeHidden();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถลบผู้รับผิดชอบได้');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_021', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'กระบวนการดำเนินงาน 2568',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.waitForSelector("(//button[@id='btn-add-work-product'])[2]");
|
|
await page.click("(//button[@id='btn-add-work-product'])[2]");
|
|
|
|
const pageAddProperties = page.locator(
|
|
"(//div[contains(@class,'col text-subtitle1')])[2]",
|
|
);
|
|
await expect(pageAddProperties).toHaveText('คุณสมบัติ');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าเพิ่มคุณสมบัติ');
|
|
await page.click("(//button[@id='btn-form-close'])[2]");
|
|
await page.waitForSelector('id=btn-form-close');
|
|
await page.click('id=btn-form-close');
|
|
});
|
|
|
|
test('TC_2_0_022', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'กระบวนการดำเนินงาน 2568',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.waitForSelector('id=btn-add-work-product-0-dialog');
|
|
await page.click('id=btn-add-work-product-0-dialog');
|
|
await page.waitForSelector('id=select-step');
|
|
await page.click('id=select-step');
|
|
await page.waitForSelector('id=list-serviceRecordName');
|
|
await page.click('id=list-serviceRecordName');
|
|
await page.waitForTimeout(1000);
|
|
await page.waitForSelector('id=btn-form-submit');
|
|
await page.click('id=btn-form-submit');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// ตรวจสอบการแสดงผลหลังจากเพิ่มคุณสมบัติ
|
|
const addPropertiesProcessStep = page.locator(
|
|
"(//span[contains(@class,'surface-2 bordered')])[2]",
|
|
);
|
|
await expect(addPropertiesProcessStep).toHaveText('บันทึกบริการ_Name');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถเพิ่มคุณสมบัติได้');
|
|
await page.waitForSelector('id=btn-form-close');
|
|
await page.click('id=btn-form-close');
|
|
});
|
|
|
|
test('TC_2_0_023', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเข้าสู่หน้าเพิ่มแม่แบบขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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[@aria-label='ชื่อขั้นตอน'])[2]",
|
|
'กระบวนการดำเนินงาน 2568',
|
|
);
|
|
|
|
// ส่วนขั้นตอนการทำงาน
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'ตรวจเอกสารตามมติครม');
|
|
await page.waitForSelector('id=btn-add-work-product-0-dialog');
|
|
await page.click('id=btn-add-work-product-0-dialog');
|
|
await page.waitForSelector('id=select-step');
|
|
await page.click('id=select-step');
|
|
await page.waitForSelector('id=list-messenger');
|
|
await page.click('id=list-messenger');
|
|
await page.waitForSelector('id=btn-form-submit');
|
|
await page.click('id=btn-form-submit');
|
|
await page.waitForTimeout(1000);
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
await page.waitForTimeout(1000);
|
|
|
|
// ตรวจสอบการดูรายละเอียดหลังเพิ่มคุณสมบัติ
|
|
await page.waitForSelector('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.click('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.waitForSelector(
|
|
'id=btn-kebab-view-detail-กระบวนการดำเนินงาน 2568',
|
|
);
|
|
await page.click('id=btn-kebab-view-detail-กระบวนการดำเนินงาน 2568');
|
|
|
|
// ตรวจสอบการแสดงผลหลังจากเพิ่มคุณสมบัติ
|
|
const addPropertiesProcessStep = page.locator(
|
|
"//span[normalize-space(text())='พนักงานส่งเอกสาร']",
|
|
);
|
|
await expect(addPropertiesProcessStep).toHaveText('พนักงานส่งเอกสาร');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถเพิ่มคุณสมบัติและบันทึกได้');
|
|
await page.waitForSelector('id=btn-info-close');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_024', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// แก้ไขคุณสมบัติ
|
|
await page.waitForSelector('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.click('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.waitForSelector('id=btn-kebab-edit-กระบวนการดำเนินงาน 2568');
|
|
await page.click('id=btn-kebab-edit-กระบวนการดำเนินงาน 2568');
|
|
await page.waitForSelector('id=btn-add-work-product-0-drawer');
|
|
await page.click('id=btn-add-work-product-0-drawer');
|
|
await page.waitForSelector('id=select-step');
|
|
await page.click('id=select-step');
|
|
await page.waitForSelector('id=list-quotationNo');
|
|
await page.click('id=list-quotationNo');
|
|
await page.waitForSelector('id=list-designForm');
|
|
await page.click('id=list-designForm');
|
|
await page.waitForSelector('id=btn-form-submit');
|
|
await page.click('id=btn-form-submit');
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ตรวจสอบการดูรายละเอียดหลังเพิ่มคุณสมบัติ
|
|
await page.waitForSelector('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.click('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.waitForSelector(
|
|
'id=btn-kebab-view-detail-กระบวนการดำเนินงาน 2568',
|
|
);
|
|
await page.click('id=btn-kebab-view-detail-กระบวนการดำเนินงาน 2568');
|
|
|
|
// ตรวจสอบการแสดงผลหลังจากเพิ่มคุณสมบัติ
|
|
const addPropertiesProcessStepFirst = page.locator(
|
|
"//span[normalize-space(text())='ออกแบบฟอร์ม']",
|
|
);
|
|
await expect(addPropertiesProcessStepFirst).toHaveText('ออกแบบฟอร์ม');
|
|
|
|
const addPropertiesProcessStepSecond = page.locator(
|
|
"//span[normalize-space(text())='Quotation No.']",
|
|
);
|
|
await expect(addPropertiesProcessStepSecond).toHaveText('Quotation No.');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถแก้ไขคุณสมบัติได้');
|
|
await page.waitForSelector('id=btn-info-close');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_025', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// แก้ไขคุณสมบัติ
|
|
await page.waitForSelector('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.click('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.waitForSelector('id=btn-kebab-edit-กระบวนการดำเนินงาน 2568');
|
|
await page.click('id=btn-kebab-edit-กระบวนการดำเนินงาน 2568');
|
|
await page.waitForSelector('id=btn-add-work-product-0-drawer');
|
|
await page.click('id=btn-add-work-product-0-drawer');
|
|
await page.waitForSelector("(//button[@id='btn-delete-work-product'])[3]");
|
|
await page.click("(//button[@id='btn-delete-work-product'])[3]");
|
|
await page.waitForSelector('id=btn-ok-dialog');
|
|
await page.click('id=btn-ok-dialog');
|
|
await page.waitForSelector('id=btn-form-submit');
|
|
await page.click('id=btn-form-submit');
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ตรวจสอบการดูรายละเอียดหลังเพิ่มคุณสมบัติ
|
|
await page.waitForSelector('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.click('id=btn-kebab-action-กระบวนการดำเนินงาน 2568');
|
|
await page.waitForSelector(
|
|
'id=btn-kebab-view-detail-กระบวนการดำเนินงาน 2568',
|
|
);
|
|
await page.click('id=btn-kebab-view-detail-กระบวนการดำเนินงาน 2568');
|
|
|
|
// ตรวจสอบการแสดงผลหลังจากเพิ่มคุณสมบัติ
|
|
const addPropertiesProcessStepFirst = page.locator(
|
|
"//span[normalize-space(text())='ออกแบบฟอร์ม']",
|
|
);
|
|
await expect(addPropertiesProcessStepFirst).toBeHidden();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถลบคุณสมบัติได้');
|
|
await page.waitForSelector('id=btn-info-close');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_026', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเพิ่มหน่วยงานในขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
await page.waitForSelector("(//button[@id='btn-add-step'])[2]");
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.click('id=select-responsible-institution-0-dialog');
|
|
|
|
// ตรวจสอบการแสดงผลหลังจากเพิ่มคุณสมบัติ
|
|
const menuAgencise = page.locator("//div[@role='menu']");
|
|
await expect(menuAgencise).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงรายการเลือกหน่วยงาน');
|
|
await page.keyboard.press('Escape');
|
|
await page.waitForSelector('id=btn-form-close');
|
|
await page.click('id=btn-form-close');
|
|
});
|
|
|
|
test('TC_2_0_027', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// การเพิ่มหน่วยงานในขั้นตอนการทำงาน
|
|
await page.waitForSelector('id=btn-add');
|
|
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-flow-template-name'])[2]",
|
|
'การดำเนินการเตรียมการ',
|
|
);
|
|
await page.waitForSelector("(//button[@id='btn-add-step'])[2]");
|
|
await page.click("(//button[@id='btn-add-step'])[2]");
|
|
await page.fill('id=input-flow-step-name-0-dialog', 'เตรียมเอกสาร');
|
|
await page.click('id=select-responsible-institution-0-dialog');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-institution-0-AGE-drawer']//div)[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-institution-0-AGE-drawer']//div)[1]",
|
|
);
|
|
await page.keyboard.press('Escape');
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
|
|
// เปิดดูรายละเอียด
|
|
await page.waitForSelector(
|
|
"//button[@id='btn-kebab-action-การดำเนินการเตรียมการ']",
|
|
);
|
|
await page.click("//button[@id='btn-kebab-action-การดำเนินการเตรียมการ']");
|
|
await page.waitForSelector(
|
|
"//div[@id='btn-kebab-view-detail-การดำเนินการเตรียมการ']",
|
|
);
|
|
await page.click(
|
|
"//div[@id='btn-kebab-view-detail-การดำเนินการเตรียมการ']",
|
|
);
|
|
|
|
// ตรวจสอบการแสดงผลหลังจากเพิ่มคุณสมบัติ
|
|
const addAgenciseWorkFlow = page.locator(
|
|
"//span[normalize-space(text())='เอเจนซี่ / หน่วยงาน']",
|
|
);
|
|
await expect(addAgenciseWorkFlow).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถเลือกหน่วยงานได้');
|
|
await page.waitForSelector('id=btn-info-close');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_028', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// แก้ไขหน่วยงาน
|
|
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.waitForSelector('id=select-responsible-institution-0-drawer');
|
|
await page.click('id=select-responsible-institution-0-drawer');
|
|
await page.waitForSelector(
|
|
"(//div[@id='select-responsible-institution-0-DOE-drawer']//div)[1]",
|
|
);
|
|
await page.click(
|
|
"(//div[@id='select-responsible-institution-0-DOE-drawer']//div)[1]",
|
|
);
|
|
await page.keyboard.press('Escape');
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// เปิดดูรายละเอียดหลังแก้ไข
|
|
await page.waitForSelector('id=btn-kebab-action-การดำเนินการเตรียมการ');
|
|
await page.click('id=btn-kebab-action-การดำเนินการเตรียมการ');
|
|
await page.waitForSelector(
|
|
'id=btn-kebab-view-detail-การดำเนินการเตรียมการ',
|
|
);
|
|
await page.click('id=btn-kebab-view-detail-การดำเนินการเตรียมการ');
|
|
|
|
// ตรวจสอบการแสดงผลหลังจากเพิ่มคุณสมบัติ
|
|
const checkEditAgenciseWorkFlow = page.locator(
|
|
"//span[normalize-space(text())='จัดหางานพื้นที่']",
|
|
);
|
|
await expect(checkEditAgenciseWorkFlow).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถแก้ไขหน่วยงานได้');
|
|
await page.waitForSelector('id=btn-info-close');
|
|
await page.click('id=btn-info-close');
|
|
});
|
|
|
|
test('TC_2_0_029', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// ลบหน่วยงาน
|
|
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.waitForSelector("(//i[@aria-hidden='false'])[2]");
|
|
await page.click("(//i[@aria-hidden='false'])[2]");
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// เปิดดูรายละเอียดหลังลบ
|
|
await page.waitForSelector('id=btn-kebab-action-การดำเนินการเตรียมการ');
|
|
await page.click('id=btn-kebab-action-การดำเนินการเตรียมการ');
|
|
await page.waitForSelector(
|
|
'id=btn-kebab-view-detail-การดำเนินการเตรียมการ',
|
|
);
|
|
await page.click('id=btn-kebab-view-detail-การดำเนินการเตรียมการ');
|
|
|
|
// ตรวจสอบการแสดงผลหลังจากเพิ่มคุณสมบัติ
|
|
const checkDeleteAgenciseWorkFlow = page.locator(
|
|
"//span[normalize-space(text())='จัดหางานพื้นที่']",
|
|
);
|
|
await expect(checkDeleteAgenciseWorkFlow).toBeHidden();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถลบหน่วยงานได้');
|
|
await page.waitForSelector('id=btn-info-close');
|
|
await page.click('id=btn-info-close');
|
|
});
|