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(); }) })