56 lines
2.1 KiB
JavaScript
56 lines
2.1 KiB
JavaScript
const { test, expect } = require('./fixture/common');
|
|
const { Customer } = require('./pom/customerPage');
|
|
|
|
test('demo', async ({ mgjPage, customerPage }) => {
|
|
await test.step('创建顾客', async () => {
|
|
await expect(mgjPage.locator('#autoStationTip').getByText('我知道了')).toBeVisible();
|
|
await mgjPage.locator('#autoStationTip').getByText('我知道了').click();
|
|
await mgjPage.locator('#tab_main li').filter({ hasText: '顾客' }).click();
|
|
const customer = new Customer();
|
|
await customerPage.createCustomer(customer);
|
|
});
|
|
|
|
await test.step('开单结算,购买第一个项目', async () => {
|
|
await mgjPage.getByText('去开单').click();
|
|
await mgjPage.locator('span').filter({ hasText: '确认开单' }).click();
|
|
const firstEnabledElement = mgjPage
|
|
.locator('#createService .content ul .am-clickable:not(.am-disabled)')
|
|
.first();
|
|
await mgjPage.waitForTimeout(1000);
|
|
await firstEnabledElement.click();
|
|
|
|
await expect(
|
|
mgjPage.locator('#cashierTotalPanel span').filter({ hasText: /结\s算/ })
|
|
).toBeVisible();
|
|
|
|
await mgjPage.waitForTimeout(1000);
|
|
|
|
// 选择第一个项目
|
|
await mgjPage.locator('.cashierItems .am-clickable').first().click();
|
|
await expect(mgjPage.locator('.cashierBox tbody tr.am-clickable').first()).toBeVisible();
|
|
await mgjPage
|
|
.locator('#cashierTotalPanel span')
|
|
.filter({ hasText: /结\s算/ })
|
|
.click();
|
|
|
|
await expect(async () => {
|
|
const $signature = mgjPage.locator('#page_pay').getByText('结算签字');
|
|
await $signature.click();
|
|
await expect($signature).not.toHaveClass(/checked/, { timeout: 2000 });
|
|
}).toPass();
|
|
|
|
const $cashBtn = mgjPage.locator('#page_pay .pay_cash');
|
|
await expect(async () => {
|
|
if ($cashBtn.isVisible()) {
|
|
await $cashBtn.click();
|
|
}
|
|
await expect(mgjPage.locator('#page_pay .pay_cash.selected')).toBeVisible({ timeout: 2000 });
|
|
}).toPass();
|
|
await mgjPage
|
|
.locator('#page_pay span')
|
|
.filter({ hasText: /结\s算/ })
|
|
.click();
|
|
await expect(mgjPage.getByText('顾客满意度点评')).toBeVisible();
|
|
});
|
|
});
|