Add enhanced POS desktop workspace with customer rail and order summary:
- Introduced `PosDesktopOrderWorkspace.vue` for improved order and customer management. - Added `PosOrderItemsDefaultTable.vue` with detailed row actions, price tooltips, and order item grouping. - Enhanced `LicensePlateReg1Input.vue` to preserve customer selection when switching license plates. - Improved `PosDepartmentStep3.vue` with updated desktop layout using the new POS workspace. - Added e2e test for customer rules tab to verify dynamic attribute reloading.
This commit is contained in:
@@ -38,6 +38,14 @@ async function primeSession(page, { token, permissions, sessionData = {} }) {
|
||||
});
|
||||
}
|
||||
|
||||
async function expectDesktopOrderItemsTable(scope) {
|
||||
await expect(scope.getByTestId("pos-order-panel-cart")).toBeVisible();
|
||||
await expect(scope.getByTestId("pos-order-detail-items-table")).toBeVisible();
|
||||
await expect(scope.getByTestId("pos-order-metadata-grid")).toBeVisible();
|
||||
await expect(scope.getByTestId("pos-order-total")).toBeVisible();
|
||||
await expect(scope.locator('[data-auto-excel-export-button="1"]')).toHaveCount(0);
|
||||
}
|
||||
|
||||
function createPosFixture() {
|
||||
const customer = {
|
||||
id: 1,
|
||||
@@ -623,6 +631,7 @@ test.describe("POS flow", () => {
|
||||
await page.locator('[data-testid="pos-next-step"]:visible').click();
|
||||
await expect(page.getByTestId("pos-step-2")).toBeVisible({ timeout: 10_000 });
|
||||
await expect(page).toHaveURL(/step=2/);
|
||||
await expectDesktopOrderItemsTable(page.getByTestId("pos-step-2"));
|
||||
|
||||
await page.getByTestId("pos-product-card-53").click();
|
||||
await expect(page.getByTestId("pos-add-to-cart-53")).toBeVisible({ timeout: 10_000 });
|
||||
@@ -638,6 +647,7 @@ test.describe("POS flow", () => {
|
||||
await page.locator('[data-testid="pos-next-step"]:visible').click();
|
||||
await expect(page.getByTestId("pos-step-3")).toBeVisible({ timeout: 10_000 });
|
||||
await expect(page).toHaveURL(/step=3/);
|
||||
await expectDesktopOrderItemsTable(page.getByTestId("pos-step-3"));
|
||||
|
||||
const markCompletedRequest = page.waitForRequest((request) => {
|
||||
return request.method() === "POST" && request.url().includes("/orders/mark_as_completed");
|
||||
@@ -654,6 +664,10 @@ test.describe("POS flow", () => {
|
||||
}
|
||||
return "pending";
|
||||
}, { timeout: 10_000 }).not.toBe("pending");
|
||||
|
||||
if (await page.getByTestId("pos-step-4").isVisible()) {
|
||||
await expectDesktopOrderItemsTable(page.getByTestId("pos-step-4"));
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user