|
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());
|
|
|
|
})
|
|
/*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test('Order by POST request',async ({request})=>{
|
|
|
|
|
|
const response = await request.post('https://jaicrm1.orderbookings.com/api/order/getorder/66ff73966374728214363781'{
|
|
data: {
|
|
"ordered_by_name": "Micheal",
|
|
"ordered_by_email": "rabi2000@gmail.com",
|
|
"ordered_by_phone": "9600520046"
|
|
|
|
}
|
|
})
|
|
// console.log(await response.json())
|
|
expect(response.status()).toBe(201)
|
|
|
|
const text = await response.text();
|
|
expect(text).toContain('Micheal')
|
|
|
|
console.log(await response.json());
|
|
|
|
|
|
|
|
// 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_COMPLETE', 'Manju');
|
|
|
|
})*/
|