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

163 lines
5.8 KiB
TypeScript

import { test, expect, Page } from '@playwright/test';
import { strictEqual } from 'assert';
import fs, { writeFileSync } from 'fs';
import path from 'path';
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('http://192.168.1.62:20101/');
await expect(page).toHaveTitle(/^Sign in to /);
await page.fill("input[name='username']", 'admin');
await page.fill("input[name='password']", '1234');
await page.click('id=kc-login');
await page.waitForTimeout(2000);
// await page.click('id=acceptBtn');
// เข้าสู่เมนูลูกค้า
await page.click('id=menu.manage');
await page.waitForSelector('id=sub-menu-customer');
await page.click('id=sub-menu-customer');
await page.waitForTimeout(2000);
isLoginSuccessful = true;
console.log('Login สำเร็จ');
} catch (error) {
console.error('เกิดข้อผิดพลาดในการ Login', error);
isLoginSuccessful = false;
}
}
test('Login', async () => {
await login(page);
});
test('สร้างลูกจ้างในสาขา', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
const names = [
{
firstName: 'เกียรติศักดิ์',
lastName: 'อำนวย',
firstNameEn: 'Kiatsakd',
lastNameEn: 'Amnuy',
},
{
firstName: 'ภัทรพล',
lastName: 'รุ่งโรจน์',
firstNameEn: 'Phatthapon',
lastNameEn: 'Rungroj',
},
{
firstName: 'ศิริพร',
lastName: 'พงษ์รัตน์',
firstNameEn: 'Siriporn',
lastNameEn: 'Phongrat',
},
{
firstName: 'กรกมล',
lastName: 'กิตติสมบัติ',
firstNameEn: 'Karakamon',
lastNameEn: 'Kittisombat',
},
];
await page.click(
"//td[contains(.,'บริษัท เอกซ์เซล อินโนเวชั่น จำกัดSiam Energy Solutions Co., Ltd.')]",
);
await page.click('id=btn-show-employee-บริษัท เอกซ์เซล อินโนเวชั่น จำกัด');
for (const user of names) {
await page.waitForSelector(
'id=บริษัท เอกซ์เซล อินโนเวชั่น จำกัด-btn-add-employee',
);
await page.click('id=บริษัท เอกซ์เซล อินโนเวชั่น จำกัด-btn-add-employee');
await page.click('id=form-employee-select-prefix-name');
await page.click('id=form-employee-select-prefix-name_0');
await page.fill('id=form-employee-input-first-name', user.firstName);
await page.fill('id=form-employee-input-last-name', user.lastName);
await page.fill('id=form-employee-input-first-name-en', user.firstNameEn);
await page.fill('id=form-employee-input-last-name-en', user.lastNameEn);
// วันเกิด
await page.click('id=form-employee-input-birth-date');
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
await page.click("//div[text()='1999']");
await page.click("//div[@id='1999-12-02']/div[1]");
// สัญชาติ
await page.click('id=form-employee-select-nationality');
await page.click('id=form-employee-select-nationality_3');
await page.click('id=btn-info-basic-save');
await page.waitForTimeout(2000);
await page.click('id=btn-form-close');
}
} catch (error) {
console.error('error');
}
});
test('สร้างลูกจ้างในสาขา 2', async () => {
if (!isLoginSuccessful) {
await login(page);
}
try {
const namestwo = [
{
firstName: 'สุทิน',
lastName: 'ภาณุวงศ์',
firstNameEn: 'Suthin',
lastNameEn: 'Phanuwong',
},
];
await page.click(
"//td[contains(.,'บริษัท เอกซ์เซล อินโนเวชั่น จำกัดSiam Energy Solutions Co., Ltd.')]",
);
await page.click('id=btn-show-employee-บริษัท เอกซ์เซล อินโนเวชั่น จำกัด');
for (const user of namestwo) {
await page.waitForSelector(
'id=บริษัท เอกซ์เซล อินโนเวชั่น จำกัด-btn-add-employee',
);
await page.click('id=บริษัท เอกซ์เซล อินโนเวชั่น จำกัด-btn-add-employee');
await page.click('id=form-employee-select-prefix-name');
await page.click('id=form-employee-select-prefix-name_0');
await page.fill('id=form-employee-input-first-name', user.firstName);
await page.fill('id=form-employee-input-last-name', user.lastName);
await page.fill('id=form-employee-input-first-name-en', user.firstNameEn);
await page.fill('id=form-employee-input-last-name-en', user.lastNameEn);
// วันเกิด
await page.click('id=form-employee-input-birth-date');
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
await page.click("//div[text()='1999']");
await page.click("//div[@id='1999-12-02']/div[1]");
// สัญชาติ
await page.click('id=form-employee-select-nationality');
await page.click('id=form-employee-select-nationality_3');
await page.click('id=btn-info-basic-save');
await page.waitForTimeout(2000);
await page.click('id=btn-form-close');
}
} catch (error) {
console.error('error');
}
});