OBA Website automated using playwright
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

812 lines
38 KiB

const {test, expect} =require('@playwright/test')
import { LoginPage } from '../pages/LoginPage';
import { ProductPage } from '../pages/ProductPage';
test.describe('Product Name Test Cases',()=>{
test('Product button',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickProductsButton();
await page.waitForTimeout(5000);
await expect(page.locator("//a[normalize-space()='Product List']")).toBeVisible();
})
test('Product list button',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickProductlistButton();
await page.waitForTimeout(5000);
await expect(page.locator("//input[@id='oba_product_search']")).toBeVisible();
})
test('Add product button',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickAddProductButton();
await page.waitForTimeout(5000);
await expect(page.locator("//input[@id='oba_product_name']")).toBeVisible();
})
test('Product Name is Empty',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionality('', '250', '10', '5', '20','KK Biriyani');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_name']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
})
test('Product Name starts with space',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionality(' Biriyani', '250', '10', '5', '20','KK Biriyani'); //Name with space is accepted i.e space button is not working.
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='Biriyani']")).toBeVisible();
await page.locator("//tbody/tr[2]/td[7]/div[1]/a[1]").click();
await page.locator("//i[@class='fa fa-lg fa-trash']").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Enter Number instead of name',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionality('96152456321', '250', '10', '5', '20','KK Biriyani'); //Name with space is accepted i.e space button is not working.
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='96152456321']")).toBeVisible();
await page.locator("//tbody/tr[2]/td[7]/div[1]/a[1]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test.skip('Enter 50 Alphabet ',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionality('asdfghjklzmxncbvqwertyuioplkjhgfdsazxcvbnmqwertyui', '250', '10', '5', '20','KK Biriyani');//Name with space is accepted i.e space button is not working.
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='asdfghjklzmxncbvqwertyuioplkjhgfdsazxcvbnmqwertyui']")).toBeVisible();
await page.locator("//tbody/tr[3]/td[7]/div[1]/a[1]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Enter Special Characters and symbol ',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionality('#4nskiu*()', '250', '10', '5', '20','KK Biriyani');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='#4nskiu*()']")).toBeVisible();
await page.locator("//tbody/tr[2]/td[7]/div[1]/a[1]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Product Name with Alphabet',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionality('Biriyani', '250', '10', '5', '20','KK Biriyani');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='Biriyani']")).toBeVisible();
await page.locator("//tbody/tr[2]/td[7]/div[1]/a[1]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Product Name with space',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Butter Naan', '30', '10', '5', '20','Tasty Butter Naan');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='Butter Naan']")).toBeVisible();
await page.locator("//tbody/tr[2]/td[7]/div[1]/a[1]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Product Name with special character',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '50', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
await page.locator("//tbody/tr[2]/td[7]/div[1]/a[1]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
})
test.describe('Product Price Test Cases',()=>{
test('Empty product prize',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_price']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
})
test.skip('Product prize entered other than numeric value',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai','1F', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('Product prize entered with Negative value',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai','-40', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_price']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
})
test.skip('Product prize entered with Special Characters',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai','80%', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('Valid Product prize',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai','50', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//b[normalize-space()='50']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Product prize in decimal value',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Vadai','12.27', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//b[normalize-space()='12.27']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Product prize',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai','50', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//b[normalize-space()='50']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Currency Symbol',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickAddProductButton();
await page.waitForTimeout(5000);
await expect(page.locator("//span[@class='input-group-text']")).toBeVisible();
await page.close();
})
test('merchant verify price leading with zero',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Vadai','129.06', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//b[normalize-space()='129.06']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('merchant verify maximum length allowed',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Vadai','12095262', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//b[normalize-space()='12095262']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('merchant enters prize zero allowed',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Vadai','0', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//b[normalize-space()='0']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
})
test.describe('Quantity Limit Test Cases',()=>{
test('Managed Radio button Check',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Empty quantity',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_quantity']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
})
test.skip('Enter other than number',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', 'Apple', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('merchant enters negative product quantity',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '-30', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_quantity']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
})
test.skip('merchant enters special characters in product quantity',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '$5', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('merchant verify valid quantity entry in product quantity',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '5', '6', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='5']")).toBeVisible();
await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('merchant enters decimal quantity',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '50.5', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_quantity']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
})
test('merchant enters zero',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '0', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='0']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
})
test.describe('Unmanaged Button',()=>{
test('UnManaged Radio Button working',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityUnmanaged('Tandoori', '450', '5', '20','Crispy Tandoori');
await page.waitForTimeout(5000);
//await expect(page.locator("//td[normalize-space()='Tandoori']")).toBeVisible();
await expect(await page.locator("//td[normalize-space()='Un-managed']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[3]").click();
await page.locator("//i[@class='fa fa-lg fa-trash']").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
})
test.describe('Order Limit Test Cases',()=>{
test('Empty order',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '', '20','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_order_limit']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
})
test('Space at the start of order limit',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', ' 6', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(await page.locator("//td[normalize-space()='10']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test.skip('Enter character other than numeric value',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', 'one', '20','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('Negative order limit',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '-52', '20','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_order_limit']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test.skip('Special characters in order limit',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '5%', '20','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('Decimal Value in order limit',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '100.5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_order_limit']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('Order limit leading with zero',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '050', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(await page.locator("//td[normalize-space()='50']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('Maximum order limit',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '050', '20','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(await page.locator("//td[normalize-space()='50']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Zero order limit',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '0', '20','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_order_limit']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
})
})
test.describe('Product Description',()=>{
test.skip('Empty order',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '5', '20','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
})
test.describe('Tax in % Test Cases',()=>{
test.skip('Enter special character',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10', '^%','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test.skip('Enter Alphabet',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10', 'ab','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test.skip('Enter space at the start of the word',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10', ' 21','Idli is Tasty');
await page.waitForTimeout(5000);
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('Placeholder check for tax %',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickAddProductButton();
await page.waitForTimeout(5000);
await expect(page.locator("//input[@id='oba_product_tax']")).toBeVisible();
})
test('Empty Tax %',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10', '','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_tax']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('Enter Tax leading with zero',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10', '055','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Enter Tax% is maximum 100',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10', '100','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Enter Tax% is maximum 110',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10', '110','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
test('Enter Tax% in negative value',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10', '-10','Idli is Tasty');
await page.waitForTimeout(5000);
const locator = page.locator("//input[@id='oba_product_tax']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.close();
// await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
})
test('Enter Tax% is decimal value',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10', '11.23','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='Idli Chutney & Vadai']")).toBeVisible();
await page.locator("(//i[@class='fa fa-lg fa-edit'])[2]").click();
await page.locator("//main[@class='app-content']//a[2]").click();
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
await page.close();
})
})
test.describe('Product Live CheckBox',()=>{
test('Available and not available checkbox',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10','8','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='true']")).toBeVisible();
await product.editProduct();
await expect(page.locator("//td[normalize-space()='false']")).toBeVisible();
})
})
test.describe('Product Delete',()=>{
test('Delete Button is working?',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityDelete('Idli Chutney & Vadai', '20', '10', '10','8','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//button[normalize-space()='Yes, delete it!']")).toBeVisible();
// await product.editProduct();
// await expect(page.locator("//td[normalize-space()='false']")).toBeVisible();
})
test('Yes Delete Button is working?',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityDelete('Idli Chutney & Vadai', '20', '10', '10','8','Idli is Tasty');
await page.waitForTimeout(5000);
await page.locator("//button[normalize-space()='Yes, delete it!']").click();
// await product.editProduct();
// await expect(page.locator("//td[normalize-space()='false']")).toBeVisible();
})
test('Navigate to product list page button',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickAddProductButton();
await page.waitForTimeout(5000);
await page.locator("//a[@href='productlist']").click();
// await product.editProduct();
await expect(page.locator("//i[@class='fa fa-lg fa-fw fa-search']")).toBeVisible();
})
test('Edit button in product list page',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickProductlistButton();
await page.waitForTimeout(5000);
await page.locator("//tbody/tr[1]/td[7]/div[1]/a[1]").click();
// await product.editProduct();
await expect(page.locator("//label[@id='oba_product_name_label']")).toBeVisible();
})
})
test.describe('Product Live CheckBox',()=>{
test('available checkbox',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityForAll('Idli Chutney & Vadai', '20', '10', '10','8','Idli is Tasty');
await page.waitForTimeout(5000);
await expect(page.locator("//td[normalize-space()='true']")).toBeVisible();
await product.editProduct();
await expect(page.locator("//td[normalize-space()='false']")).toBeVisible();
})
})