const {test, expect} =require('@playwright/test') import { clear } from 'console'; import { LoginPage } from '../pages/LoginPage'; import { OrderPage } from '../pages/OrderPage'; test('Order Button',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const order = new OrderPage(page); await order.clickOrdersButton(); await page.waitForTimeout(5000); await expect(await page.locator("//a[normalize-space()='Order List']")).toBeVisible(); }) test('Order List Button',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const order = new OrderPage(page); await order.clickOrdersListButton(); // await page.waitForTimeout(5000); await expect(await page.locator("//select[@id='oba_edit_order_status_filter']")).toBeVisible(); }) test('Order Status Dropdown Count',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const order = new OrderPage(page); await order.clickOrdersListButton(); await page.waitForTimeout(5000); const options = await page.locator('#oba_edit_order_status_filter option') await expect(options).toHaveCount(5); }) test('Order status dropdown menu',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); // await page.waitForTimeout(5000); const order = new OrderPage(page); await order.clickOrdersListButton(); // await page.waitForTimeout(5000); const value= await page.locator("//select[@id='oba_edit_order_status_filter']").textContent() console.log(value); }) test('Order status selected',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); //await page.waitForTimeout(5000); const order = new OrderPage(page); await order.orderStatusCheck('ORDER_STATUS_REQUESTED'); //need to fi }) test('Order declined',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const order = new OrderPage(page); await order.textBoxSearch('ORDER_STATUS_DECLINED', 'Tomato Rice and Chicken Biriyani'); }) test('Order requested',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const order = new OrderPage(page); await order.textBoxSearch('ORDER_STATUS_REQUESTED', 'Tomato Rice and Chicken Biriyani'); }) test('Order pending',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const order = new OrderPage(page); await order.textBoxSearch('ORDER_STATUS_PENDING', 'Tomato Rice and Chicken Biriyani'); }) test('Order cancelled',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const order = new OrderPage(page); await order.textBoxSearch('ORDER_STATUS_CANCELLED', 'Tomato Rice and Chicken Biriyani'); }) test('Order by ID API',async ({request,page})=>{ const response = await request.get('https://dev.orderbookings.com/api/order/syncOrders?user_id=670766e4272db54e96e423e0&phone=919480111222&lastupdatetime=0&merchantCode=919480707707&role=ROLE_TYPE_MERCHANT') console.log(await response.json()) //expect(response.status()).toBe(200) // const text = await response.text(); // expect(text).toContain('Manju') const res = await response.json(); const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const order = new OrderPage(page); const result = await order.textBoxSearch('ORDER_STATUS_COMPLETE', 'Shubya'); // await page.waitForTimeout(5000); //const username= result.OrderId; //expect.soft("//td[normalize-space()='Shubya']").toContain(res.data[0].ordered_by_name); expect.soft(order.orderName).toContain(res.data[0].ordered_by_name); expect.soft(order.orderEmail).toContain(res.data[0].ordered_by_email); expect.soft(order.orderPhone).toContain((res.data[0].ordered_by_address.phone).toString()); expect.soft(order.orderCost).toContain((res.data[0].order_cost).toString()); expect.soft(order.orderQty).toContain((res.data[0].ordered_items_qty[0]).toString()); })