2332 lines
108 KiB
TypeScript
2332 lines
108 KiB
TypeScript
import { test, expect, Page } from '@playwright/test';
|
|
import { 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_2_4_001', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าจัดการลูกค้า');
|
|
});
|
|
|
|
test('TC_2_4_002', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// การเพิ่มนายจ้าง
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
const showAddNaturalPerson = page.locator('id=add-customer-natural-person');
|
|
const showAddLegalEntry = page.locator('id=add-customer-legal-entity');
|
|
|
|
await expect(showAddNaturalPerson).toBeVisible();
|
|
await expect(showAddLegalEntry).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log(
|
|
'ระบบแสดงเมนูย่อยเพื่อเพิ่มนายจ้างโดยจะแสดงเพิ่มบุคคธรรมดา,เพิ่มนิติบุคคล',
|
|
);
|
|
});
|
|
|
|
test('TC_2_4_003', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// การเพิ่มนายจ้างนิติบุคคล
|
|
await page.waitForTimeout(2000);
|
|
await page.click('id=btn-add');
|
|
|
|
await page.waitForSelector('id=add-customer-legal-entity');
|
|
await page.click('id=add-customer-legal-entity');
|
|
|
|
await page.waitForSelector('.dialog-header-container', {
|
|
state: 'visible',
|
|
});
|
|
await expect(page.locator('.dialog-header-container')).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าเพิ่มนายจ้างนิติบุคคล');
|
|
});
|
|
|
|
test('TC_2_4_004', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// การเพิ่มนายจ้างนิติบุคคล
|
|
await page.waitForTimeout(2000);
|
|
await page.click('id=btn-add');
|
|
|
|
await page.waitForSelector('id=add-customer-legal-entity');
|
|
await page.click('id=add-customer-legal-entity');
|
|
|
|
// ส่วนเกี่ยวกับ
|
|
await page.fill(
|
|
'id=input-register-name',
|
|
'บริษัท เอเชียเทค ซิสเต็มส์ จำกัด ',
|
|
);
|
|
await page.fill('id=input-register-name-en', 'AsiaTech Systems Co., Ltd.');
|
|
await page.fill('id=input-legal-person-no', 'อนุชา ศรีสวัสดิ์');
|
|
await page.fill('id=input-legal-person-code', '2022822642228');
|
|
|
|
// จดทะเบียนเมื่อ
|
|
await page.click("(//input[@id='form-input-register-date'])[1]");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2020']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ก.ย.']");
|
|
await page.click("//div[@id='2020-09-18']/div[1]");
|
|
|
|
await page.fill('id=input-authorized-capital', '10000000');
|
|
await page.fill('id=input-telephone-no', '022202002');
|
|
|
|
// ส่วนข้อมูลธุรกิจ
|
|
await page.click("(//div[@class='q-tab__label'])[2]");
|
|
await page.click('id=form-select-business-type');
|
|
await page.waitForSelector('id=form-select-business-type_3');
|
|
await page.click('id=form-select-business-type_3');
|
|
await page.click('id=form-select-job-position');
|
|
await page.waitForSelector('id=form-select-job-position_0');
|
|
await page.click('id=form-select-job-position_0');
|
|
await page.fill('id=form-input-job-description', 'รายละเอียดงาน');
|
|
await page.fill(
|
|
"(//input[@id='form-input-pay-rate'])[1]",
|
|
'วันจ่ายเงินเดือน',
|
|
);
|
|
await page.fill("(//input[@id='form-input-pay-rate'])[2]", 'Pay day');
|
|
await page.fill("(//input[@id='form-input-pay-rate'])[3]", '2000');
|
|
|
|
// ส่วนผู้มีอำนาจลงนาม
|
|
await page.click("(//div[@class='q-tab__label'])[3]");
|
|
await page.fill(
|
|
"(//input[@id='form-input-contact-name'])[1]",
|
|
'อนุชา ศรีสวัสดิ์',
|
|
);
|
|
await page.fill(
|
|
"(//input[@id='form-input-contact-name'])[2]",
|
|
'Anucha Srisawat',
|
|
);
|
|
|
|
// ส่วนที่อยู่นายจ้าง
|
|
await page.click("(//div[@class='q-tab__label'])[4]");
|
|
await page.fill("(//input[@id='form-input-address'])[1]", '20228226242');
|
|
await page.fill(
|
|
'id=form-input-address-no',
|
|
'1234 อาคารซิตี้ทาวเวอร์ ชั้น 12',
|
|
);
|
|
await page.fill("(//input[@id='form-input-street'])[1]", 'สาทรใต้');
|
|
await page.click('id=form-select-province');
|
|
await page.waitForSelector('id=form-select-province_1');
|
|
await page.click('id=form-select-province_1');
|
|
await page.click('id=form-select-district');
|
|
await page.waitForSelector('id=form-select-district_11');
|
|
await page.click('id=form-select-district_11');
|
|
await page.click('id=form-select-sub-district');
|
|
await page.waitForSelector('id=form-select-sub-district_1');
|
|
await page.click('id=form-select-sub-district_1');
|
|
await page.fill(
|
|
'id=form-input-address-en',
|
|
'1234 City Tower Building, 12th Floor',
|
|
);
|
|
await page.fill("(//input[@id='form-input-street'])[2]", 'South Sathorn');
|
|
|
|
// ส่วนข้อมูลผู้ติดต่อ
|
|
await page.click("(//div[@class='q-tab__label'])[5]");
|
|
await page.fill('id=form-input-contact-name', 'วราภรณ์ ศรีสวัสดิ์');
|
|
await page.fill('id=form-input-mail', 'asiatech@support.com');
|
|
await page.fill("(//input[@id='form-input-telephone'])[1]", '0866522622');
|
|
await page.fill("(//input[@id='form-input-telephone'])[2]", '022022002');
|
|
await page.click('id=quotation-branch');
|
|
await page.waitForSelector('id=quotation-branch_1');
|
|
await page.click('id=quotation-branch_1');
|
|
await page.waitForSelector("//button[@type='submit']");
|
|
await page.click("//button[@type='submit']");
|
|
await page.click('id=btn-form-close');
|
|
await page.waitForTimeout(2000);
|
|
|
|
const legalEntitlyNameCheck = await page.locator(
|
|
"//tr[contains(.,'บริษัท เอเชียเทค ซิสเต็มส์ จำกัด') and contains (.,'022022002')]",
|
|
);
|
|
|
|
await expect(legalEntitlyNameCheck).toContainText(
|
|
'บริษัท เอเชียเทค ซิสเต็มส์ จำกัด',
|
|
);
|
|
await expect(legalEntitlyNameCheck).toContainText('022022002');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการสร้างนายจ้างนิติบุคคล');
|
|
});
|
|
|
|
test('TC_2_4_005', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// การเพิ่มนายจ้างนิติบุคคล
|
|
await page.waitForTimeout(2000);
|
|
await page.click('id=btn-add');
|
|
|
|
await page.waitForSelector('id=add-customer-natural-person');
|
|
await page.click('id=add-customer-natural-person');
|
|
|
|
await page.waitForSelector('.dialog-header-container', {
|
|
state: 'visible',
|
|
});
|
|
await expect(page.locator('.dialog-header-container')).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าเพิ่มนายจ้างบุคคลธรรมดา');
|
|
});
|
|
|
|
test('TC_2_4_006', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// การเพิ่มนายจ้างนิติบุคคล
|
|
await page.waitForTimeout(2000);
|
|
await page.click('id=btn-add');
|
|
|
|
await page.waitForSelector('id=add-customer-natural-person');
|
|
await page.click('id=add-customer-natural-person');
|
|
|
|
// ส่วนเกี่ยวกับ
|
|
await page.fill('id=input-card-number', '1524428220420');
|
|
await page.waitForSelector('id=form-select-prefix-name');
|
|
await page.click('id=form-select-prefix-name');
|
|
await page.waitForSelector('id=form-select-prefix-name_0');
|
|
await page.click('id=form-select-prefix-name_0');
|
|
await page.fill('id=form-input-first-name', 'ยศพัฒน์');
|
|
await page.fill('id=form-input-last-name', 'ธนากานต์');
|
|
await page.fill('id=form-input-first-name-en', 'Yossapat');
|
|
await page.fill('id=form-input-last-name-en', 'Tanakarn');
|
|
await page.fill('id=form-input-telephone', '0842262228');
|
|
await page.waitForSelector('id=form-input-birth-date');
|
|
await page.click('id=form-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1999']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ต.ค.']");
|
|
await page.click("//div[@id='1999-10-02']/div[1]");
|
|
|
|
// ส่วนข้อมูลธุรกิจ
|
|
await page.waitForSelector("(//div[@aria-selected='false'])[2]");
|
|
await page.click("(//div[@aria-selected='false'])[2]");
|
|
await page.waitForSelector('id=form-select-business-type');
|
|
await page.click('id=form-select-business-type');
|
|
await page.click('id=form-select-business-type_6');
|
|
await page.waitForSelector('id=form-select-job-position');
|
|
await page.click('id=form-select-job-position');
|
|
await page.click('id=form-select-job-position_0');
|
|
|
|
// ส่วนที่อยู่นายจ้าง
|
|
await page.click("(//div[@aria-selected='false'])[3]");
|
|
await page.fill("(//input[@id='form-input-address'])[1]", '22282205202');
|
|
await page.fill('id=form-input-address-no', '200');
|
|
await page.click('id=form-select-province');
|
|
await page.waitForSelector('id=form-select-province_4');
|
|
await page.click('id=form-select-province_4');
|
|
await page.click('id=form-select-district');
|
|
await page.waitForSelector('id=form-select-district_8');
|
|
await page.click('id=form-select-district_8');
|
|
await page.click('id=form-select-sub-district');
|
|
await page.waitForSelector('id=form-select-sub-district_7');
|
|
await page.click('id=form-select-sub-district_7');
|
|
await page.fill('id=form-input-address-en', '200');
|
|
await page.click("//button[@type='submit']");
|
|
await page.click('id=btn-form-close');
|
|
|
|
// กำหนดค่าเพื่อตรวจสอบความถูกต้องหลังสร้าง
|
|
|
|
const nameTitleNatrualPerson = await page.locator(
|
|
"//tr[contains(.,'นาย ยศพัฒน์ ธนากานต์') and contains (.,'--')]",
|
|
);
|
|
|
|
expect(nameTitleNatrualPerson).toContainText('ยศพัฒน์ ธนากานต์');
|
|
expect(nameTitleNatrualPerson).toContainText('--');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถสร้างนายจ้างบุคคลธรรมดาได้');
|
|
});
|
|
|
|
test('TC_2_4_007', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// ตรวจสอบการเข้าไปในนายจ้างนิติบุคคล
|
|
try {
|
|
await page.waitForSelector(
|
|
"//td[contains(.,'บริษัท เอเชียเทค ซิสเต็มส์ จำกัดAsiaTech Systems Co., Ltd.')]",
|
|
);
|
|
await page.click(
|
|
"//td[contains(.,'บริษัท เอเชียเทค ซิสเต็มส์ จำกัดAsiaTech Systems Co., Ltd.')]",
|
|
);
|
|
|
|
const detailInLegalPerson = page.locator(
|
|
"//tr[contains(.,'บริษัท เอเชียเทค ซิสเต็มส์ จำกัด') and contains (.,'0')]",
|
|
);
|
|
|
|
await expect(detailInLegalPerson).toContainText(
|
|
'บริษัท เอเชียเทค ซิสเต็มส์ จำกัด',
|
|
);
|
|
await expect(detailInLegalPerson).toContainText(
|
|
'1234 อาคารซิตี้ทาวเวอร์ ชั้น 12, ถนนสาทรใต้, แขวงบางมด, เขตทุ่งครุ, จังหวัดกรุงเทพมหานคร, 10140',
|
|
);
|
|
await expect(detailInLegalPerson).toContainText('022202002');
|
|
await expect(detailInLegalPerson).toContainText('กิจการก่อสร้าง');
|
|
await expect(detailInLegalPerson).toContainText('0');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการแสดงนายจ้างนิติบุคค]', error);
|
|
throw error;
|
|
}
|
|
|
|
// กลับไปสู่หน้าจัดการลูกค้า
|
|
await page.waitForSelector(
|
|
"//span[normalize-space(text())='จัดการลูกค้าภายในองค์กร']",
|
|
);
|
|
await page.click(
|
|
"//span[normalize-space(text())='จัดการลูกค้าภายในองค์กร']",
|
|
);
|
|
|
|
// ตรวจสอบการเข้าไปในนายจ้างบุคคลธรรมดา
|
|
try {
|
|
await page.waitForSelector(
|
|
"//td[contains(.,'นาย ยศพัฒน์ ธนากานต์Mr Yossapat Tanakarn')]",
|
|
);
|
|
await page.click(
|
|
"//td[contains(.,'นาย ยศพัฒน์ ธนากานต์Mr Yossapat Tanakarn')]",
|
|
);
|
|
|
|
const detailInNaturalPerson = page.locator(
|
|
"//tr[contains(.,'ยศพัฒน์ ธนากานต์') and contains (.,'0')]",
|
|
);
|
|
|
|
await expect(detailInNaturalPerson).toContainText('ยศพัฒน์ ธนากานต์');
|
|
await expect(detailInNaturalPerson).toContainText(
|
|
'200, ตำบลนิคมทุ่งโพธิ์ทะเล, อำเภอเมืองกำแพงเพชร, จังหวัดกำแพงเพชร, 62000',
|
|
);
|
|
await expect(detailInNaturalPerson).toContainText('0842262228 ');
|
|
await expect(detailInNaturalPerson).toContainText(
|
|
'ต่อเนื่องปศุสัตว์โรงฆ่าสัตว์ ชำแหละ ',
|
|
);
|
|
await expect(detailInNaturalPerson).toContainText('0');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการแสดงนายจ้างบุคคลธรรมดา', error);
|
|
throw error;
|
|
}
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงข้อมูลภายในของนายจ้างนิติบุคคลและนายจ้างบุคคลธรรมดา');
|
|
});
|
|
|
|
test('TC_2_4_008', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// ตรวจสอบการเข้าไปในนายจ้างนิติบุคคล
|
|
try {
|
|
await page.waitForSelector(
|
|
"//td[contains(.,'บริษัท เอเชียเทค ซิสเต็มส์ จำกัดAsiaTech Systems Co., Ltd.')]",
|
|
);
|
|
await page.click(
|
|
"//td[contains(.,'บริษัท เอเชียเทค ซิสเต็มส์ จำกัดAsiaTech Systems Co., Ltd.')]",
|
|
);
|
|
await page.waitForSelector(
|
|
'id=btn-show-employee-บริษัท เอเชียเทค ซิสเต็มส์ จำกัด',
|
|
);
|
|
await page.click('id=btn-show-employee-บริษัท เอเชียเทค ซิสเต็มส์ จำกัด');
|
|
|
|
// เพิ่มลูกจ้างในนายจ้างนิติบุุคตล
|
|
await page.waitForSelector(
|
|
'id=บริษัท เอเชียเทค ซิสเต็มส์ จำกัด-btn-add-employee',
|
|
);
|
|
await page.click('id=บริษัท เอเชียเทค ซิสเต็มส์ จำกัด-btn-add-employee');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.fill('id=form-employee-input-nrc-no', '2202292283202');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
fakerTH.person.firstName('male'),
|
|
);
|
|
await page.fill(
|
|
'id=form-employee-input-last-name',
|
|
fakerTH.person.lastName(),
|
|
);
|
|
await page.fill(
|
|
'id=form-employee-input-first-name-en',
|
|
fakerEN.person.firstName(),
|
|
);
|
|
await page.fill(
|
|
'id=form-employee-input-last-name-en',
|
|
fakerEN.person.lastName(),
|
|
);
|
|
|
|
// วันเดือนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.waitForSelector("//div[text()='2000']");
|
|
await page.click("//div[text()='2000']");
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.waitForSelector("//div[text()='ก.พ.']");
|
|
await page.click("//div[text()='ก.พ.']");
|
|
await page.waitForSelector("//div[@id='2000-02-04']/div[1]");
|
|
await page.click("//div[@id='2000-02-04']/div[1]");
|
|
|
|
// เลือกเพศและสัญชาติ
|
|
await page.click('id=form-employee-select-gender');
|
|
await page.click('id=form-employee-select-gender_0');
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
await page.click('id=btn-form-close');
|
|
|
|
const employeeAddCompeleted = page.locator(
|
|
`(//tr[@id='row-table-${fakerEN.person.firstName()}'])[1]`,
|
|
);
|
|
|
|
await expect(employeeAddCompeleted).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการแสดงนายจ้างนิติบุคค]', error);
|
|
throw error;
|
|
}
|
|
|
|
// กลับไปสู่หน้าจัดการลูกค้า
|
|
await page.waitForSelector(
|
|
"//span[normalize-space(text())='จัดการลูกค้าภายในองค์กร']",
|
|
);
|
|
await page.click(
|
|
"//span[normalize-space(text())='จัดการลูกค้าภายในองค์กร']",
|
|
);
|
|
|
|
// ตรวจสอบการเข้าไปในนายจ้างบุคคลธรรมดา
|
|
try {
|
|
await page.waitForSelector(
|
|
"//td[contains(.,'นาย ยศพัฒน์ ธนากานต์Mr Yossapat Tanakarn')]",
|
|
);
|
|
await page.click(
|
|
"//td[contains(.,'นาย ยศพัฒน์ ธนากานต์Mr Yossapat Tanakarn')]",
|
|
);
|
|
await page.waitForSelector('id=btn-show-employee-ยศพัฒน์ ธนากานต์');
|
|
await page.click('id=btn-show-employee-ยศพัฒน์ ธนากานต์');
|
|
|
|
// เพิ่มลูกจ้างในนายจ้างนิติบุุคตล
|
|
await page.waitForSelector('id=ยศพัฒน์-btn-add-employee');
|
|
await page.click('id=ยศพัฒน์-btn-add-employee');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.fill('id=form-employee-input-nrc-no', '2202292283202');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
fakerTH.person.firstName('male'),
|
|
);
|
|
await page.fill(
|
|
'id=form-employee-input-last-name',
|
|
fakerTH.person.lastName(),
|
|
);
|
|
await page.fill(
|
|
'id=form-employee-input-first-name-en',
|
|
fakerEN.person.firstName(),
|
|
);
|
|
await page.fill(
|
|
'id=form-employee-input-last-name-en',
|
|
fakerEN.person.lastName(),
|
|
);
|
|
|
|
// วันเดือนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.waitForSelector("//div[text()='2000']");
|
|
await page.click("//div[text()='2000']");
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.waitForSelector("//div[text()='ก.พ.']");
|
|
await page.click("//div[text()='ก.พ.']");
|
|
await page.waitForSelector("//div[@id='2000-02-04']/div[1]");
|
|
await page.click("//div[@id='2000-02-04']/div[1]");
|
|
|
|
// เลือกเพศและสัญชาติ
|
|
await page.click('id=form-employee-select-gender');
|
|
await page.click('id=form-employee-select-gender_0');
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
await page.waitForSelector("(//button[@id='btn-info-basic-save'])[2]");
|
|
await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
await page.waitForTimeout(2000);
|
|
await page.click('id=btn-form-close');
|
|
|
|
const employeeAddCompeleted = page.locator(
|
|
`(//tr[@id='row-table-${fakerEN.person.firstName()}'])[1]`,
|
|
);
|
|
|
|
await expect(employeeAddCompeleted).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการแสดงนายจ้างบุคคลธรรมดา', error);
|
|
throw error;
|
|
}
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log(
|
|
'ระบบสามารถเพิ่มลูกจ้างในนายจ้างนิติบุคคลและนายจ้างบุคคลธรรมดาได้',
|
|
);
|
|
});
|
|
|
|
test('TC_2_4_009', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// --------------------------------------สถานะนายจ้างนิติบุคคล-------------------------------------------
|
|
try {
|
|
// ----------------------------------------ปิดสถานะนายจ้างนิติบุคคล----------------------------------
|
|
await page.click('id=btn-kebab-action-อนุชา ศรีสวัสดิ์');
|
|
|
|
await page.click('id=btn-kebab-status-อนุชา ศรีสวัสดิ์', {
|
|
force: true,
|
|
});
|
|
await page.click('id=btn-ok-dialog');
|
|
console.log('เปลี่ยนสถานะสำเร็จ');
|
|
|
|
// รอ Update
|
|
await page.waitForTimeout(2000);
|
|
console.log('สถานะถูกเปลี่ยนแล้ว');
|
|
|
|
// ตรวจสอบสีของแถวหลังจากทำการเปลี่ยนสถานะ
|
|
const rowLocator = page.locator(
|
|
"//tr[contains(.,'บริษัท เอเชียเทค ซิสเต็มส์ จำกัด') and contains (.,'022022002')]",
|
|
);
|
|
const backgroundColor = await rowLocator.evaluate(
|
|
(el) => window.getComputedStyle(el).backgroundColor,
|
|
);
|
|
|
|
// กำหนดสีหลัเปลี่ยนสถานะการใช้งาน
|
|
const expectedColor = 'rgb(249, 250, 252)';
|
|
|
|
// ตรวจสอบสีที่เปลี่ยนไป
|
|
expect(backgroundColor.trim()).toBe(expectedColor);
|
|
console.log('สีของแถวถูกเปลี่ยน Inactive');
|
|
|
|
// -----------------------------------------เปิดสถานะนายจ้างนิติบุคคล--------------------------------------------------
|
|
await page.click('id=btn-kebab-action-อนุชา ศรีสวัสดิ์');
|
|
|
|
await page.click('id=btn-kebab-status-อนุชา ศรีสวัสดิ์', {
|
|
force: true,
|
|
});
|
|
await page.click('id=btn-ok-dialog');
|
|
console.log('เปลี่ยนสถานะสำเร็จ');
|
|
|
|
// รอ Update
|
|
await page.waitForTimeout(2000);
|
|
console.log('สถานะถูกเปลี่ยนแล้ว');
|
|
|
|
// ตรวจสอบสีของแถวหลังจากทำการเปลี่ยนสถานะ
|
|
const rowActiveOpenLocator = page.locator(
|
|
"//tr[contains(.,'บริษัท เอเชียเทค ซิสเต็มส์ จำกัด') and contains (.,'022022002')]",
|
|
);
|
|
const backgroundActiveOpenColor = await rowActiveOpenLocator.evaluate(
|
|
(el) => window.getComputedStyle(el).backgroundColor,
|
|
);
|
|
|
|
// กำหนดสีหลัเปลี่ยนสถานะการใช้งาน
|
|
const expectedActiveOpenColor = 'rgb(249, 250, 252)';
|
|
|
|
// ตรวจสอบสีที่เปลี่ยนไป
|
|
expect(backgroundActiveOpenColor.trim()).toBe(expectedActiveOpenColor);
|
|
console.log('สีของแถวถูกเปลี่ยนเป็น Active');
|
|
} catch (error) {
|
|
console.error('ไม่สามารถเปลี่ยนสถานะได้');
|
|
}
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงข้อมูลภายในของนายจ้างนิติบุคคลและนายจ้างบุคคลธรรมดา');
|
|
});
|
|
|
|
test('TC_2_4_010', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// การเข้าหน้าแก้ไขนายจ้างนิติบุคคล
|
|
await page.click('id=btn-kebab-action-อนุชา ศรีสวัสดิ์');
|
|
await page.waitForSelector('id=btn-kebab-edit-อนุชา ศรีสวัสดิ์');
|
|
await page.click('id=btn-kebab-edit-อนุชา ศรีสวัสดิ์');
|
|
|
|
const pageHeadEditLegalPerson = page.locator(
|
|
"//span[text()='บริษัท เอเชียเทค ซิสเต็มส์ จำกัด']",
|
|
);
|
|
|
|
await expect(pageHeadEditLegalPerson).toHaveText(
|
|
'บริษัท เอเชียเทค ซิสเต็มส์ จำกัด',
|
|
);
|
|
|
|
await page.waitForTimeout(2000);
|
|
await page.click("(//button[@id='btn-info-cancel'])[1]");
|
|
|
|
// การเข้าหน้าแก้ไขนายจ้างบุคคลธรรมดา
|
|
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-ยศพัฒน์');
|
|
|
|
const pageHeadEditNaturalPerson = page.locator(
|
|
"//span[text()='ยศพัฒน์ ธนากานต์']",
|
|
);
|
|
|
|
await expect(pageHeadEditNaturalPerson).toHaveText('ยศพัฒน์ ธนากานต์');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าแก้ไขนายจ้างนิติบุคคลและนายจ้างบุคคลธรรมดา');
|
|
});
|
|
|
|
test('TC_2_4_011', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const companyNameTH = fakerTH.company.name();
|
|
const companyNameEN = fakerEN.company.name();
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// การเข้าหน้าแก้ไขนายจ้างนิติบุคคล
|
|
await page.click('id=btn-kebab-action-อนุชา ศรีสวัสดิ์');
|
|
await page.waitForSelector('id=btn-kebab-edit-อนุชา ศรีสวัสดิ์');
|
|
await page.click('id=btn-kebab-edit-อนุชา ศรีสวัสดิ์');
|
|
|
|
await page.fill('id=input-register-name', companyNameTH);
|
|
await page.fill('id=input-register-name-en', companyNameEN);
|
|
|
|
await page.click("(//button[@type='submit'])[1]");
|
|
await page.waitForTimeout(2000);
|
|
await page.click("(//button[@id='btn-info-cancel'])[1]");
|
|
|
|
// ใช้ตัวแปรเดิมตรวจสอบผลลัพธ์
|
|
const pageHeadEditLegalPerson = page.locator(
|
|
`//tr[contains(.,'${companyNameTH}') and contains(.,'022022002')]`,
|
|
);
|
|
|
|
await expect(pageHeadEditLegalPerson).toContainText(companyNameTH);
|
|
|
|
// การเข้าหน้าแก้ไขนายจ้างบุคคลธรรมดา
|
|
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('id=info-input-first-name', firstNameTH);
|
|
await page.fill('id=info-input-last-name', lastNameTH);
|
|
await page.fill('id=info-input-first-name-en', firstNameEN);
|
|
await page.fill('id=info-input-last-name-en', lastNameEN);
|
|
|
|
await page.click("(//button[@type='submit'])[1]");
|
|
await page.waitForTimeout(2000);
|
|
await page.click("(//button[@id='btn-info-cancel'])[1]");
|
|
|
|
// ใช้ตัวแปรเดิมตรวจสอบผลลัพธ์
|
|
const pageHeadEditNaturallPerson = page.locator(
|
|
`//tr[contains(.,'${firstNameTH} ${lastNameTH}') and contains (.,'--')]`,
|
|
);
|
|
|
|
await expect(pageHeadEditNaturallPerson).toContainText(firstNameTH);
|
|
await expect(pageHeadEditNaturallPerson).toContainText(lastNameTH);
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถแก้ไขนายจ้างนิติบุคคลและนายจ้างบุคคลธรรมดาได้');
|
|
});
|
|
|
|
test('TC_2_4_012', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ตรวจสอบการแสดงหน้าเพิ่มลูกจ้าง
|
|
const pageAddEmployee = page.locator(
|
|
"//form[contains(.,'เพิ่ม ลูกจ้าง') and contains (.,'ยังไม่มีข้อมูลแสดงในตารางนี้')]",
|
|
);
|
|
|
|
await expect(pageAddEmployee).toContainText('เพิ่ม ลูกจ้าง');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าเพิ่มลูกจ้าง');
|
|
});
|
|
|
|
test('TC_2_4_013', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
const showTabPassport = page.locator(
|
|
'id=dialog-tab-ข้อมูลหนังสือการเดินทาง',
|
|
);
|
|
const showTabVisa = page.locator('id=dialog-tab-ข้อมูล Visa');
|
|
const showTabHealthDetail = page.locator('id=dialog-tab-ข้อมูลสุขภาพ');
|
|
const showTabJobDetail = page.locator('id=dialog-tab-ข้อมูลการทำงาน');
|
|
const showTabMore = page.locator('id=dialog-tab-ข้อมูลอื่นๆ');
|
|
|
|
await expect(showTabPassport).toBeVisible;
|
|
await expect(showTabVisa).toBeVisible;
|
|
await expect(showTabHealthDetail).toBeVisible;
|
|
await expect(showTabJobDetail).toBeVisible;
|
|
await expect(showTabMore).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการสร้างลูกจ้างได้');
|
|
});
|
|
|
|
test('TC_2_4_014', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
await page.waitForSelector('id=dialog-tab-ข้อมูลสุขภาพ');
|
|
await page.click('id=dialog-tab-ข้อมูลสุขภาพ');
|
|
|
|
const showFormHealth = page.locator('id=employee-form-content');
|
|
|
|
await expect(showFormHealth).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงแท็ปข้อมูลสุขภาพครั้งที่ 1');
|
|
});
|
|
|
|
// test('TC_2_4_015', async () => {
|
|
// if (!isLoginSuccessful) {
|
|
// await login(page);
|
|
// }
|
|
// try {
|
|
// // สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
// const firstNameTH = fakerTH.person.firstName('male');
|
|
// const middleNameTH = fakerTH.person.middleName();
|
|
// const lastNameTH = fakerTH.person.lastName();
|
|
// const firstNameEN = fakerEN.person.firstName();
|
|
// const middleNameEN = fakerEN.person.middleName();
|
|
// const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// // เข้าสู่เมนูลูกค้า
|
|
// await page.click('id=menu.manage');
|
|
// await page.waitForSelector('id=sub-menu-customer');
|
|
// await page.click('id=sub-menu-customer');
|
|
|
|
// // เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
// await page.waitForSelector('id=tab-employee');
|
|
// await page.click('id=tab-employee');
|
|
// await page.waitForSelector('id=btn-add');
|
|
// await page.click('id=btn-add');
|
|
|
|
// // ส่วนข้อมูลพื้นฐาน
|
|
// await page.click('id=form-employee-select-employer-branch');
|
|
// await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
// await page.click('id=form-employee-select-employer-branch_0');
|
|
// await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// // ส่วนข้อมูลส่วนตัว
|
|
// await page.click('id=form-employee-select-prefix-name');
|
|
// await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
// await page.click('id=form-employee-select-prefix-name_0');
|
|
// await page.fill(
|
|
// "(//input[@id='form-employee-input-first-name'])[1]",
|
|
// firstNameTH,
|
|
// );
|
|
// await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
// await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
// await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// // วันเดิิอนปีเกิด
|
|
// await page.click('id=form-employee-input-birth-date');
|
|
// await page.waitForSelector(
|
|
// "(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
// );
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
// await page.click("//div[text()='1996']");
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
// await page.click("//div[text()='พ.ค.']");
|
|
// await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// // สัญชาติ
|
|
// await page.click('id=form-employee-select-nationality');
|
|
// await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
// await page.click('id=form-employee-select-nationality_2');
|
|
|
|
// await page.click('id=btn-info-basic-save');
|
|
// await page.waitForTimeout(2000);
|
|
|
|
// await page.waitForSelector('id=dialog-tab-ข้อมูลสุขภาพ');
|
|
// await page.click('id=dialog-tab-ข้อมูลสุขภาพ');
|
|
|
|
// const showFormHealth = page.locator('id=employee-form-content');
|
|
|
|
// await expect(showFormHealth).toBeVisible;
|
|
// } catch (error) {
|
|
// console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
// isLoginSuccessful = false;
|
|
// throw error;
|
|
// }
|
|
// await page.waitForTimeout(2000);
|
|
// console.log('ระบบแสดงแท็ปข้อมูลสุขภาพครั้งที่ 1');
|
|
// });
|
|
|
|
test('TC_2_4_016', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
await page.waitForSelector('id=dialog-tab-ข้อมูลการทำงาน');
|
|
await page.click('id=dialog-tab-ข้อมูลการทำงาน');
|
|
|
|
const showFormHealth = page.locator('id=employee-form-content');
|
|
|
|
await expect(showFormHealth).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงแท็ปข้อมูลการทำงาน');
|
|
});
|
|
|
|
// test('TC_2_4_017', async () => {
|
|
// if (!isLoginSuccessful) {
|
|
// await login(page);
|
|
// }
|
|
// try {
|
|
// // สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
// const firstNameTH = fakerTH.person.firstName('male');
|
|
// const middleNameTH = fakerTH.person.middleName();
|
|
// const lastNameTH = fakerTH.person.lastName();
|
|
// const firstNameEN = fakerEN.person.firstName();
|
|
// const middleNameEN = fakerEN.person.middleName();
|
|
// const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// // เข้าสู่เมนูลูกค้า
|
|
// await page.click('id=menu.manage');
|
|
// await page.waitForSelector('id=sub-menu-customer');
|
|
// await page.click('id=sub-menu-customer');
|
|
|
|
// // เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
// await page.waitForSelector('id=tab-employee');
|
|
// await page.click('id=tab-employee');
|
|
// await page.waitForSelector('id=btn-add');
|
|
// await page.click('id=btn-add');
|
|
|
|
// // ส่วนข้อมูลพื้นฐาน
|
|
// await page.click('id=form-employee-select-employer-branch');
|
|
// await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
// await page.click('id=form-employee-select-employer-branch_0');
|
|
// await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// // ส่วนข้อมูลส่วนตัว
|
|
// await page.click('id=form-employee-select-prefix-name');
|
|
// await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
// await page.click('id=form-employee-select-prefix-name_0');
|
|
// await page.fill(
|
|
// "(//input[@id='form-employee-input-first-name'])[1]",
|
|
// firstNameTH,
|
|
// );
|
|
// await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
// await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
// await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// // วันเดิิอนปีเกิด
|
|
// await page.click('id=form-employee-input-birth-date');
|
|
// await page.waitForSelector(
|
|
// "(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
// );
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
// await page.click("//div[text()='1996']");
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
// await page.click("//div[text()='พ.ค.']");
|
|
// await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// // สัญชาติ
|
|
// await page.click('id=form-employee-select-nationality');
|
|
// await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
// await page.click('id=form-employee-select-nationality_2');
|
|
|
|
// await page.click('id=btn-info-basic-save');
|
|
// await page.waitForTimeout(2000);
|
|
|
|
// await page.waitForSelector('id=dialog-tab-ข้อมูลการทำงาน');
|
|
// await page.click('id=dialog-tab-ข้อมูลการทำงาน');
|
|
|
|
// const showFormHealth = page.locator('id=employee-form-content');
|
|
|
|
// await expect(showFormHealth).toBeVisible;
|
|
// } catch (error) {
|
|
// console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
// isLoginSuccessful = false;
|
|
// throw error;
|
|
// }
|
|
// await page.waitForTimeout(2000);
|
|
// console.log('ระบบแสดงแท็ปข้อมูลการทำงาน');
|
|
// });
|
|
|
|
test('TC_2_4_018', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
await page.waitForSelector('id=dialog-tab-ข้อมูลอื่นๆ');
|
|
await page.click('id=dialog-tab-ข้อมูลอื่นๆ');
|
|
|
|
const showFormHealth = page.locator('id=employee-form-content');
|
|
|
|
await expect(showFormHealth).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงแท็ปข้อมูลอื่นๆ');
|
|
});
|
|
|
|
test('TC_2_4_019', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// เข้าหน้าแท็ปข้อมูลอื่นๆ
|
|
await page.waitForSelector('id=dialog-tab-ข้อมูลอื่นๆ');
|
|
await page.click('id=dialog-tab-ข้อมูลอื่นๆ');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-citizen-id'])[1]",
|
|
'2201182726324',
|
|
);
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-citizen-id'])[2]",
|
|
'0882262262',
|
|
);
|
|
await page.fill('id=form-employee-input-father-first-name', firstNameTH);
|
|
await page.fill('id=form-employee-input-father-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-father-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-father-last-name-en', lastNameEN);
|
|
await page.fill('id=form-employee-input-mother-first-name', firstNameTH);
|
|
await page.fill('id=form-employee-input-mother-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-mother-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-mother-last-name-en', lastNameEN);
|
|
await page.waitForSelector("(//button[@id='btn-info-health-save'])[2]");
|
|
await page.click("(//button[@id='btn-info-health-save'])[2]");
|
|
|
|
const formEmployeeSave = page.locator('id=form-employee-other');
|
|
await expect(formEmployeeSave).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการบันทึกข้อมูลส่วนข้อมูลอื่นๆ');
|
|
});
|
|
|
|
// test('TC_2_4_020', async () => {
|
|
// if (!isLoginSuccessful) {
|
|
// await login(page);
|
|
// }
|
|
// try {
|
|
// // สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
// const firstNameTH = fakerTH.person.firstName('male');
|
|
// const middleNameTH = fakerTH.person.middleName();
|
|
// const lastNameTH = fakerTH.person.lastName();
|
|
// const firstNameEN = fakerEN.person.firstName();
|
|
// const middleNameEN = fakerEN.person.middleName();
|
|
// const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// // เข้าสู่เมนูลูกค้า
|
|
// await page.click('id=menu.manage');
|
|
// await page.waitForSelector('id=sub-menu-customer');
|
|
// await page.click('id=sub-menu-customer');
|
|
|
|
// // เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
// await page.waitForSelector('id=tab-employee');
|
|
// await page.click('id=tab-employee');
|
|
// await page.waitForSelector('id=btn-add');
|
|
// await page.click('id=btn-add');
|
|
|
|
// // ส่วนข้อมูลพื้นฐาน
|
|
// await page.click('id=form-employee-select-employer-branch');
|
|
// await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
// await page.click('id=form-employee-select-employer-branch_0');
|
|
// await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// // ส่วนข้อมูลส่วนตัว
|
|
// await page.click('id=form-employee-select-prefix-name');
|
|
// await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
// await page.click('id=form-employee-select-prefix-name_0');
|
|
// await page.fill(
|
|
// "(//input[@id='form-employee-input-first-name'])[1]",
|
|
// firstNameTH,
|
|
// );
|
|
// await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
// await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
// await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// // วันเดิิอนปีเกิด
|
|
// await page.click('id=form-employee-input-birth-date');
|
|
// await page.waitForSelector(
|
|
// "(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
// );
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
// await page.click("//div[text()='1996']");
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
// await page.click("//div[text()='พ.ค.']");
|
|
// await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// // สัญชาติ
|
|
// await page.click('id=form-employee-select-nationality');
|
|
// await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
// await page.click('id=form-employee-select-nationality_2');
|
|
|
|
// await page.click('id=btn-info-basic-save');
|
|
// await page.waitForTimeout(2000);
|
|
// //-------------------------------------เข้าหน้าแท็ปข้อมูลหนังสือเดินทาง----------------------------------
|
|
// await page.waitForSelector('id=dialog-tab-ข้อมูล Visa');
|
|
// await page.click('id=dialog-tab-ข้อมูล Visa');
|
|
|
|
// // ส่วนข้อมูลหนังสือเดินทาง
|
|
// await page.click(
|
|
// "(//input[@id='drawer-info-employee-select-visa-type'])[3]",
|
|
// );
|
|
// await page.waitForSelector('id=drawer-info-employee-select-visa-type_0');
|
|
// await page.click('id=drawer-info-employee-select-visa-type_0');
|
|
// await page.fill(
|
|
// "(//input[@id='drawer-info-employee-input-previous-passport-Number'])[2]",
|
|
// 'TH202273',
|
|
// );
|
|
// await page.click(
|
|
// "(//input[@id='drawer-info-employee-select-prefix-name'])[2]",
|
|
// );
|
|
// await page.waitForSelector('id=drawer-info-employee-select-prefix-name_0');
|
|
// await page.click('iddrawer-info-employee-select-prefix-name_0');
|
|
// await page.fill(
|
|
// "(//input[@id='drawer-info-employee-input-first-name'])[2]",
|
|
// firstNameTH,
|
|
// );
|
|
// await page.fill(
|
|
// "(//input[@id='drawer-info-employee-input-last-name'])[2]",
|
|
// lastNameTH,
|
|
// );
|
|
// await page.fill(
|
|
// "(//input[@id='drawer-info-employee-input-first-name-en'])[2]",
|
|
// firstNameEN,
|
|
// );
|
|
// await page.fill(
|
|
// "(//input[@id='drawer-info-employee-input-last-name-en'])[2]",
|
|
// lastNameEN,
|
|
// );
|
|
// await page.fill(
|
|
// "(//input[@id='drawer-info-employee-input-passport-no'])[2]",
|
|
// 'TH202322',
|
|
// );
|
|
// await page.click(
|
|
// "(//input[@id='drawer-info-employee-input-birth-date'])[2]",
|
|
// );
|
|
// await page.waitForSelector(
|
|
// "(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
// );
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
// await page.waitForSelector("//div[text()='2020']");
|
|
// await page.click("//div[text()='2020']");
|
|
// await page.waitForSelector(
|
|
// "(//button[@class='dp__btn dp__month_year_select'])[1]",
|
|
// );
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
// await page.waitForSelector("//div[text()='ม.ค.']");
|
|
// await page.click("//div[text()='ม.ค.']");
|
|
// await page.waitForSelector("//div[@id='2020-01-02']/div[1]");
|
|
// await page.click("//div[@id='2020-01-02']/div[1]");
|
|
// await page.click("(//input[@aria-label='สัญชาติ'])[2]");
|
|
// await page.waitForSelector('id=drawer-info-employee-select-visa-type_2');
|
|
// await page.click('id=drawer-info-employee-select-visa-type_2');
|
|
// await page.click(
|
|
// "(//input[@id='drawer-info-employee-select-passport-country'])[2]",
|
|
// );
|
|
// await page.waitForSelector(
|
|
// 'id=drawer-info-employee-select-passport-country_1',
|
|
// );
|
|
// await page.click('id=drawer-info-employee-select-passport-country_1');
|
|
// await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
|
|
// // ตรวจสอบหลังจากทำการบันทึกข้อมูลหนังสือการเดินทาง
|
|
// const formPassportSave = page.locator("(//div[@id='form-passport'])[2]");
|
|
// await expect(formPassportSave).toBeVisible;
|
|
|
|
// //-------------------------------------เข้าหน้าแท็ปข้อมูล Visa----------------------------------------
|
|
// await page.waitForSelector('id=dialog-tab-ข้อมูล Visa');
|
|
// await page.click('id=dialog-tab-ข้อมูล Visa');
|
|
// await page.click(
|
|
// "(//input[@id='drawer-info-employee-select-visa-type'])[3]",
|
|
// );
|
|
// await page.waitForSelector('id=drawer-info-employee-select-visa-type_0');
|
|
// await page.click('id=drawer-info-employee-select-visa-type_0');
|
|
// await page.fill(
|
|
// "(//input[@aria-label='เลขที่ตรวจลงตรา'])[2]",
|
|
// '2202202220',
|
|
// );
|
|
// await page.fill(
|
|
// "(//input[@id='drawer-info-employee-input-visa-place'])[2]",
|
|
// 'กรุงเทพ',
|
|
// );
|
|
// await page.click("(//input[@aria-label='ประเภทการตรวจลงตรา'])[2]");
|
|
// await page.waitForSelector('id=drawer-info-employee-select-visa-type_1');
|
|
// await page.click('id=drawer-info-employee-select-visa-type_1');
|
|
// await page.fill(
|
|
// "(//input[@aria-label='บัตรขาเข้า หมายเลข TM'])[2]",
|
|
// '220322',
|
|
// );
|
|
// await page.click(
|
|
// "(//input[@id='drawer-info-employee-date-picker-visa-enter'])[2]",
|
|
// );
|
|
// await page.waitForSelector(
|
|
// "(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
// );
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
// await page.waitForSelector(
|
|
// "(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
// );
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
// await page.waitForSelector("//div[text()='2020']");
|
|
// await page.click("//div[text()='2020']");
|
|
// await page.waitForSelector(
|
|
// "(//button[@class='dp__btn dp__month_year_select'])[1]",
|
|
// );
|
|
// await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
// await page.waitForSelector("//div[text()='ม.ค.']");
|
|
// await page.click("//div[text()='ม.ค.']");
|
|
// await page.waitForSelector("//div[@id='2020-01-08']/div[1]");
|
|
// await page.click("//div[@id='2020-01-08']/div[1]");
|
|
// await page.fill(
|
|
// "(//input[@aria-label='เดินทางเข้ามาทางด่าน'])[2]",
|
|
// 'แม่สอด',
|
|
// );
|
|
// await page.click(
|
|
// "(//input[@id='drawer-info-employee-select-issue-country'])[2]",
|
|
// );
|
|
// await page.waitForSelector(
|
|
// 'id=drawer-info-employee-select-issue-country_1',
|
|
// );
|
|
// await page.click('id=drawer-info-employee-select-issue-country_1');
|
|
// await page.fill(
|
|
// "(//input[@id='drawer-info-employee-input-entry-count'])[2]",
|
|
// '300',
|
|
// );
|
|
// await page.click("(//button[@id='btn-info-basic-save'])[2]");
|
|
|
|
// // ตรวจสอบหลังจากทำการบันทึกข้อมูล Visa
|
|
// const formSaveVisa = page.locator("(//div[@id='form-visa'])[2]");
|
|
// await expect(formSaveVisa).toBeVisible;
|
|
|
|
// //-------------------------------------เข้าหน้าแท็ปข้อมูลสุขภาพ----------------------------------------
|
|
// await page.waitForSelector('id=dialog-tab-ข้อมูลสุขภาพ');
|
|
// await page.click('id=dialog-tab-ข้อมูลสุขภาพ');
|
|
// await page.click('id=form-employee-select-health-checkresult');
|
|
// await page.waitForSelector('id=form-employee-select-health-checkresult_0');
|
|
// await page.click('id=form-employee-select-health-checkresult_0');
|
|
// await page.click('id=form-employee-select-checkup-type');
|
|
// await page.waitForSelector('id=form-employee-select-checkup-type_0');
|
|
// await page.click('id=form-employee-select-checkup-type_0');
|
|
// await page.fill('id=form-employee-input-hospital', 'โรงพยาบาลตากสิน');
|
|
// await page.click('id=form-employee-select-province');
|
|
// await page.waitForSelector('id=form-employee-select-province_0');
|
|
// await page.click('id=form-employee-select-province_0');
|
|
// await page.click("(//button[@id='btn-info-health-save'])[2]");
|
|
|
|
// // ตรวจสอบหลังจากทำการบันทึกข้อมูลสุขภาพ
|
|
// const formSaveHelath = page.locator('id=form-employee-checkup-0');
|
|
// await expect(formSaveHelath).toBeVisible;
|
|
|
|
// //-------------------------------------เข้าหน้าแท็ปข้อมูลการทำงาน-------------------------------------
|
|
// await page.waitForSelector('id=dialog-tab-ข้อมูลการทำงาน');
|
|
// await page.click('id=dialog-tab-ข้อมูลการทำงาน');
|
|
// await page.fill("(//input[@id='form-employee-input-owner-name'])[1]",fakerTH.person.fullName())
|
|
// await page.click("id=form-employee-select-province")
|
|
// await page.waitForSelector("id=form-employee-select-province_0")
|
|
// await page.click("id=form-employee-select-province_0")
|
|
// await page.click("id=form-employee-select-job-type")
|
|
// await page.waitForSelector("id=form-employee-select-job-type_0")
|
|
// await page.click("id=form-employee-select-job-type_0")
|
|
// await page.click("id=form-employee-select-position-name")
|
|
// await page.waitForSelector("id=form-employee-select-position-name_0")
|
|
// await page.click("id=form-employee-select-position-name_0")
|
|
// await page.fill("(//input[@id='form-employee-input-owner-name'])[2]",'2022832028200')
|
|
// await page.fill("(//input[@id='form-employee-input-owner-name'])[3]",'2202202930292')
|
|
// await page.fill("(//input[@aria-label='สถานที่ออกใบอนุญาต'])[2]",'กรุงเทพ')
|
|
// await page.click("(//button[@type='submit'])[2]")
|
|
|
|
// // ตรวจสอบหลังจากทำการบันทึกข้อมูลการทำงาน
|
|
// const formWorkSave = page.locator("")
|
|
|
|
// //-------------------------------------เข้าหน้าแท็ปข้อมูลอื่นๆ-----------------------------------------
|
|
// await page.waitForSelector('id=dialog-tab-ข้อมูลอื่นๆ');
|
|
// await page.click('id=dialog-tab-ข้อมูลอื่นๆ');
|
|
// await page.fill(
|
|
// "(//input[@id='form-employee-input-citizen-id'])[1]",
|
|
// '2201182726324',
|
|
// );
|
|
// await page.fill(
|
|
// "(//input[@id='form-employee-input-citizen-id'])[2]",
|
|
// '0882262262',
|
|
// );
|
|
// await page.fill('id=form-employee-input-father-first-name', firstNameTH);
|
|
// await page.fill('id=form-employee-input-father-last-name', lastNameTH);
|
|
// await page.fill('id=form-employee-input-father-first-name-en', firstNameEN);
|
|
// await page.fill('id=form-employee-input-father-last-name-en', lastNameEN);
|
|
// await page.fill('id=form-employee-input-mother-first-name', firstNameTH);
|
|
// await page.fill('id=form-employee-input-mother-last-name', lastNameTH);
|
|
// await page.fill('id=form-employee-input-mother-first-name-en', firstNameEN);
|
|
// await page.fill('id=form-employee-input-mother-last-name-en', lastNameEN);
|
|
// await page.waitForSelector("(//button[@id='btn-info-health-save'])[2]");
|
|
// await page.click("(//button[@id='btn-info-health-save'])[2]");
|
|
|
|
// const formEmployeeSave = page.locator('id=form-employee-other');
|
|
// await expect(formEmployeeSave).toBeVisible;
|
|
// } catch (error) {
|
|
// console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
// isLoginSuccessful = false;
|
|
// throw error;
|
|
// }
|
|
// await page.waitForTimeout(2000);
|
|
// console.log('ระบบทำการบันทึกข้อมูลส่วนข้อมูลอื่นๆ');
|
|
// });
|
|
|
|
test('TC_2_4_021', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
const showTabPassport = page.locator(
|
|
'id=dialog-tab-ข้อมูลหนังสือการเดินทาง',
|
|
);
|
|
const showTabVisa = page.locator('id=dialog-tab-ข้อมูล Visa');
|
|
const showTabHealthDetail = page.locator('id=dialog-tab-ข้อมูลสุขภาพ');
|
|
const showTabJobDetail = page.locator('id=dialog-tab-ข้อมูลการทำงาน');
|
|
const showTabMore = page.locator('id=dialog-tab-ข้อมูลอื่นๆ');
|
|
|
|
await expect(showTabPassport).toBeVisible;
|
|
await expect(showTabVisa).toBeVisible;
|
|
await expect(showTabHealthDetail).toBeVisible;
|
|
await expect(showTabJobDetail).toBeVisible;
|
|
await expect(showTabMore).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการสร้างลูกจ้างได้');
|
|
});
|
|
|
|
test('TC_2_4_022', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
// ส่วนข้อมูลที่อยู่
|
|
await page.click('id=form-employee-custom');
|
|
await page.fill('id=form-employee-input-address-no', '200/20');
|
|
await page.fill("(//input[@id='form-employee-input-moo'])[1]", '2');
|
|
await page.fill("(//input[@id='form-employee-input-soi'])[1]", '20');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-street'])[1]",
|
|
'สุขุมวิท',
|
|
);
|
|
await page.click('id=form-employee-select-province');
|
|
await page.waitForSelector('id=form-employee-select-province_0');
|
|
await page.click('id=form-employee-select-province_0');
|
|
await page.click('id=form-employee-select-district');
|
|
await page.waitForSelector('id=form-employee-select-district_0');
|
|
await page.click('id=form-employee-select-district_0');
|
|
await page.click('id=form-employee-select-sub-district');
|
|
await page.waitForSelector('id=form-employee-select-sub-district_0');
|
|
await page.click('id=form-employee-select-sub-district_0');
|
|
await page.fill('id=form-employee-input-address-en', '200/20');
|
|
await page.fill("(//input[@id='form-employee-input-moo'])[2]", '2');
|
|
await page.fill("(//input[@id='form-employee-input-soi'])[2]", '20');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-street'])[2]",
|
|
'Sukumvit',
|
|
);
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector('id=btn-form-close');
|
|
await page.click('id=btn-form-close');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// ตรวจสอบหลังจากบันทึก
|
|
const checkEmployeeCreate = page.locator(
|
|
`//td[contains(.,'${firstNameEN}') and contains(.,'${lastNameEN}') and contains(.,'${firstNameTH}') and contains(.,'${lastNameTH}')]`,
|
|
);
|
|
|
|
await expect(checkEmployeeCreate).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการสร้างลูกจ้างได้');
|
|
});
|
|
|
|
test('TC_2_4_023', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
// ส่วนข้อมูลที่อยู่
|
|
await page.click('id=form-employee-custom');
|
|
await page.fill('id=form-employee-input-address-no', '200/20');
|
|
await page.fill("(//input[@id='form-employee-input-moo'])[1]", '2');
|
|
await page.fill("(//input[@id='form-employee-input-soi'])[1]", '20');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-street'])[1]",
|
|
'สุขุมวิท',
|
|
);
|
|
await page.click('id=form-employee-select-province');
|
|
await page.waitForSelector('id=form-employee-select-province_0');
|
|
await page.click('id=form-employee-select-province_0');
|
|
await page.click('id=form-employee-select-district');
|
|
await page.waitForSelector('id=form-employee-select-district_0');
|
|
await page.click('id=form-employee-select-district_0');
|
|
await page.click('id=form-employee-select-sub-district');
|
|
await page.waitForSelector('id=form-employee-select-sub-district_0');
|
|
await page.click('id=form-employee-select-sub-district_0');
|
|
await page.fill('id=form-employee-input-address-en', '200/20');
|
|
await page.fill("(//input[@id='form-employee-input-moo'])[2]", '2');
|
|
await page.fill("(//input[@id='form-employee-input-soi'])[2]", '20');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-street'])[2]",
|
|
'Sukumvit',
|
|
);
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector('id=btn-form-close');
|
|
await page.click('id=btn-form-close');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// ตรวจสอบหลังจากบันทึก
|
|
const checkEmployeeCreate = page.locator(
|
|
`//tr[contains(.,'${firstNameEN} ${lastNameEN}') and contains (.,'${firstNameTH} ${lastNameTH}')]`,
|
|
);
|
|
|
|
await expect(checkEmployeeCreate).toBeVisible;
|
|
|
|
await expect(checkEmployeeCreate).toBeVisible;
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงข้อมูลลูกจ้างหลังสร้างถูกต้อง');
|
|
});
|
|
|
|
test('TC_2_4_024', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector('id=btn-form-close');
|
|
await page.click('id=btn-form-close');
|
|
|
|
// ----------------------------------------- การทำ Inactive ลูกจ้าง -----------------------------------------
|
|
const kebabAction = page.locator(`id=btn-kebab-action-${firstNameTH}`);
|
|
await kebabAction.waitFor();
|
|
await kebabAction.click();
|
|
|
|
const kebabStatus = page
|
|
.locator(`id=btn-kebab-status-${firstNameTH}`)
|
|
.nth(0);
|
|
await kebabStatus.click({ force: true });
|
|
|
|
const okDialog = page.locator('id=btn-ok-dialog');
|
|
await okDialog.click();
|
|
console.log('✅ เปลี่ยนสถานะเป็น Inactive สำเร็จ');
|
|
|
|
// ตรวจสอบสีของแถวหลังจากเปลี่ยนเป็น Inactive
|
|
const rowLocator = page.locator(
|
|
`//div[normalize-space(text())='${firstNameTH} ${lastNameTH}']`,
|
|
);
|
|
await expect(rowLocator).toHaveCSS('background-color', 'rgba(0, 0, 0, 0)');
|
|
console.log('✅ สีของแถวถูกเปลี่ยนเป็นสีเทาอ่อน');
|
|
|
|
// ---------------------------------------------- การทำ Active ลูกจ้าง ----------------------------------------
|
|
await kebabAction.waitFor();
|
|
await page.waitForTimeout(2000);
|
|
await kebabAction.click();
|
|
|
|
await kebabStatus.click({ force: true });
|
|
|
|
await okDialog.click();
|
|
console.log('✅ เปลี่ยนสถานะเป็น Active สำเร็จ');
|
|
|
|
// ตรวจสอบสีของแถวหลังจากเปลี่ยนเป็น Active
|
|
await expect(rowLocator).toHaveCSS('background-color', 'rgba(0, 0, 0, 0)');
|
|
console.log('✅ สีของแถวถูกเปลี่ยนเป็นสีขาว');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถทำการ Active/InActive ลูกจ้างได้');
|
|
});
|
|
|
|
test('TC_2_4_025', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector('id=btn-form-close');
|
|
await page.click('id=btn-form-close');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// การเปลี่ยนจำนวนในตารางจากแสดง 30 คน เป็น 1000 คน
|
|
await page.click("//span[normalize-space(text())='30']");
|
|
await page.waitForSelector("//div[normalize-space(text())='1000']");
|
|
await page.click("//div[normalize-space(text())='1000']");
|
|
|
|
// การแก้ไขลูกจ้าง
|
|
await page.waitForTimeout(2000);
|
|
await page.click(`id=btn-kebab-action-${firstNameTH}`);
|
|
await page.waitForSelector(`id=btn-kebab-edit-${firstNameTH}`);
|
|
await page.click(`id=btn-kebab-edit-${firstNameTH}`);
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าแก้ไขลูกจ้าง');
|
|
});
|
|
|
|
test('TC_2_4_026', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector('id=btn-form-close');
|
|
await page.click('id=btn-form-close');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// การเปลี่ยนจำนวนในตารางจากแสดง 30 คน เป็น 1000 คน
|
|
await page.click("//span[normalize-space(text())='30']");
|
|
await page.waitForSelector("//div[normalize-space(text())='1000']");
|
|
await page.click("//div[normalize-space(text())='1000']");
|
|
|
|
// การแก้ไขลูกจ้าง
|
|
await page.waitForTimeout(2000);
|
|
await page.click(`id=btn-kebab-action-${firstNameTH}`);
|
|
await page.waitForSelector(`id=btn-kebab-edit-${firstNameTH}`);
|
|
await page.click(`id=btn-kebab-edit-${firstNameTH}`);
|
|
|
|
await page.fill(
|
|
"(//input[@id='drawer-info-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=drawer-info-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=drawer-info-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=drawer-info-employee-input-last-name-en', lastNameEN);
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForSelector("(//button[@id='btn-info-close'])[2]");
|
|
await page.click("(//button[@id='btn-info-close'])[2]");
|
|
|
|
const checkEditSave = page.locator(
|
|
` //tr[contains(.,'${firstNameEN}') and contains (.,'${lastNameEN}') and contains (.,'${firstNameTH}') and contains (.,'${lastNameTH}')]`,
|
|
);
|
|
|
|
await expect(checkEditSave).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถแก้ไขลูกจ้างได้');
|
|
});
|
|
|
|
test('TC_2_4_027', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// สร้างค่าชื่อบริษัทที่เหมือนกันทั้งภาษาไทยและอังกฤษ
|
|
const firstNameTH = fakerTH.person.firstName('male');
|
|
const middleNameTH = fakerTH.person.middleName();
|
|
const lastNameTH = fakerTH.person.lastName();
|
|
const firstNameEN = fakerEN.person.firstName();
|
|
const middleNameEN = fakerEN.person.middleName();
|
|
const lastNameEN = fakerEN.person.firstName();
|
|
|
|
// เข้าสู่เมนูลูกค้า
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-customer');
|
|
await page.click('id=sub-menu-customer');
|
|
|
|
// เข้าแท็ปลูกจ้างเพื่อทำการเพิ่มลูกจ้าง
|
|
await page.waitForSelector('id=tab-employee');
|
|
await page.click('id=tab-employee');
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// ส่วนข้อมูลพื้นฐาน
|
|
await page.click('id=form-employee-select-employer-branch');
|
|
await page.waitForSelector('id=form-employee-select-employer-branch_0');
|
|
await page.click('id=form-employee-select-employer-branch_0');
|
|
await page.fill('id=form-employee-input-nrc-no', '1223423112342');
|
|
|
|
// ส่วนข้อมูลส่วนตัว
|
|
await page.click('id=form-employee-select-prefix-name');
|
|
await page.waitForSelector('id=form-employee-select-prefix-name_0');
|
|
await page.click('id=form-employee-select-prefix-name_0');
|
|
await page.fill(
|
|
"(//input[@id='form-employee-input-first-name'])[1]",
|
|
firstNameTH,
|
|
);
|
|
await page.fill('id=form-employee-input-last-name', lastNameTH);
|
|
await page.fill('id=form-employee-input-first-name-en', firstNameEN);
|
|
await page.fill('id=form-employee-input-last-name-en', lastNameEN);
|
|
// วันเดิิอนปีเกิด
|
|
await page.click('id=form-employee-input-birth-date');
|
|
await page.waitForSelector(
|
|
"(//button[@class='dp__btn dp__month_year_select'])[2]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='1996']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='พ.ค.']");
|
|
await page.click("//div[@id='1996-05-02']/div[1]");
|
|
|
|
// สัญชาติ
|
|
await page.click('id=form-employee-select-nationality');
|
|
await page.waitForSelector('id=form-employee-select-nationality_2');
|
|
await page.click('id=form-employee-select-nationality_2');
|
|
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector('id=btn-form-close');
|
|
await page.click('id=btn-form-close');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// การเปลี่ยนจำนวนในตารางจากแสดง 30 คน เป็น 1000 คน
|
|
await page.click("//span[normalize-space(text())='30']");
|
|
await page.waitForSelector("//div[normalize-space(text())='1000']");
|
|
await page.click("//div[normalize-space(text())='1000']");
|
|
|
|
// การแก้ไขลูกจ้าง
|
|
await page.waitForTimeout(2000);
|
|
await page.click(`id=btn-kebab-action-${firstNameTH}`);
|
|
await page.waitForSelector(`id=btn-kebab-edit-${firstNameTH}`);
|
|
await page.click(`id=btn-kebab-edit-${firstNameTH}`);
|
|
|
|
await page.click(
|
|
"(//div[@id='drawer-info-employee-select-employer-branch'])[1]",
|
|
);
|
|
await page.waitForSelector(
|
|
'id=drawer-info-employee-select-employer-branch_1',
|
|
);
|
|
await page.click('id=drawer-info-employee-select-employer-branch_1');
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector("(//button[@id='btn-info-close'])[2]");
|
|
await page.click("(//button[@id='btn-info-close'])[2]");
|
|
|
|
const checkEditSave = page.locator(
|
|
`//tr[contains(.,'${firstNameEN}') and contains (.,'บริษัท สยาม เอ็นเนอร์จี โซลูชั่น จำกัด')]`,
|
|
);
|
|
|
|
await expect(checkEditSave).toContainText(
|
|
'บริษัท สยาม เอ็นเนอร์จี โซลูชั่น จำกัด',
|
|
);
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถแก้ไขนายจ้างในลูกจ้างได้');
|
|
});
|