const {test, expect} =require('@playwright/test') import { LoginPage } from '../pages/LoginPage'; import { AppConfig } from '../pages/AppConfig'; test('AppConfig button is working or not',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const config = new AppConfig(page); await config.openAppConf(); await page.waitForTimeout(3000) await expect(await page.locator(config.notificationSoundLoop)).toBeVisible(); }) test.skip('complete AppConfig page to check API',async ({page,request})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const config = new AppConfig(page); await config.functionalityAppConfig('UAE dirham (د.إ;)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.close(); const response = await request.get('https://dev.orderbookings.com/api/config/919480707707?merchantCode=919480707707') console.log(await response.json()) const res = await response.json(); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await config.openAppConf(); expect.soft(config.merchantCode).toContain(res.data.merchantCode); const textBoxValue=await page.locator(config.calltoactionAPI).inputValue(); expect.soft(textBoxValue).toContain(res.data.call_to_action); //const currencyValue=await page.locator(config.currencyAPI).inputValue(); // expect.soft(currencyValue).toContain(res.data.currency_code); const notificationLoop = await page.locator(config.notificationSoundLoopAPI).inputValue(); expect.soft(notificationLoop).toContain((res.data.notification_sound_loop).toString()); const cancellationTillResponse = await page.locator(config.cancellationTillAPI).inputValue(); expect.soft(cancellationTillResponse).toContain((res.data.cancellation_till).toString()); const minimumCartPrizeResponse = await page.locator(config.minimumCartPrizeAPI).inputValue(); expect.soft( minimumCartPrizeResponse).toContain((res.data.minimum_cart_price).toString()); const deliveryChargeResponse = await page.locator(config.deliveryChargeAPI).inputValue(); expect.soft( deliveryChargeResponse).toContain((res.data.delivery_charge).toString()); expect.soft(config.areaSelection).toContain(res.data.area_type); }) /*-------------------------------------------------Currency Check-----------------------------------*/ //Merchant Verify that the selected currency symbol is displayed correctly test('Select as Indonesian rupiah (Rp)', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); const locator = page.locator("//select[@id='oba_appconfig_select_currency']"); await expect(locator).toContainText('Indonesian rupiah (Rp)'); await page.waitForTimeout(1000); await page.close(); }); /*-----------------------------Call to Action------------------------------------------------*/ //Call To Action for empty test.skip('Action call for empty ',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '', 'City','Tamil Nadu'); // const locator = page.getByRole('Action Call'); // await expect(locator).toBeFocused(); // await page.waitForTimeout(3000); await page.close(); }); //Call To Action contains numbers starting with 23 test('Action contains numbers starting with 23 ',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '2355456737', 'City','Tamil Nadu'); const locator = page.locator("//input[@id='oba_appconfig_call_to_action']"); await expect(locator).toBeFocused(); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }); //Call To Action for Letters test('Call To Action for Letters',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', 'AFHGDGJNBVJ', 'City','Tamil Nadu'); const locator = page.locator("//input[@id='oba_appconfig_call_to_action']"); await expect(locator).toBeFocused(); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }); //Call to Action only 9 numbers test('Call to Action only 9 numbers' ,async({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '956456737', 'City','Tamil Nadu'); const locator = page.locator("//input[@id='oba_appconfig_call_to_action']"); await expect(locator).toBeFocused(); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }) //call to action using specail chars test('call to action using specail characters', async({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '95#5456737', 'City','Tamil Nadu'); const locator = page.locator("//input[@id='oba_appconfig_call_to_action']"); await expect(locator).toBeFocused(); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }) //call to Action using Space test('space for action call',async({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', ' 965 526 ', 'City','Tamil Nadu'); const locator = page.locator("//input[@id='oba_appconfig_call_to_action']"); await expect(locator).toBeFocused(); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }); //Merchant add International Number test('International Number', async({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '456236216514', 'City','Tamil Nadu'); const locator = page.locator("//input[@id='oba_appconfig_call_to_action']"); await expect(locator).toBeFocused(); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }) test('Enter Alphabet', async({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', 'hjgfdjsfjk', 'City','Tamil Nadu'); const locator = page.locator("//input[@id='oba_appconfig_call_to_action']"); await expect(locator).toBeFocused(); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }) test('11 digits', async({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '96548712396', 'City','Tamil Nadu'); const locator = page.locator("//input[@id='oba_appconfig_call_to_action']"); await expect(locator).toBeFocused(); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }) test.skip('10 digits', async({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); const actionNumber = await page.locator(("//input[@id='oba_appconfig_call_to_action']").textContent()); expect.soft(actionNumber).toContain('9565456737'); await page.close(); }) //Merchant add valid details test.skip('Valid Number starts with 6,7,8,9',async({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '6565456737', 'City','Tamil Nadu'); const actionNumber = await page.locator(("//input[@id='oba_appconfig_call_to_action']").textContent()); expect.soft(actionNumber).toContain('9565456737'); await page.waitForTimeout(2000); await page.close(); }) /*-----------------------------------------------------------------------------------*/ //user select Country test.skip('select Country', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); const locator = page.locator("//option[@value='CITY']"); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }); //user select State test('select State', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); // const App = new Appconfig(page); //await App.Appconfigdetails('Indonesian rupiah (Rp)','5','800','20','9480606707','State','Bijapur@-12'); await page.waitForTimeout(3000); await page.close(); }); // //user select City test.skip('select City', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); const locator = page.locator(("//option[@value='CITY']").inputValue()); await expect(locator).toBeVisible(); await page.waitForTimeout(3000); await page.close(); }); //user select Pincode test('select Pincode', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user select Landmark test('select Landmark', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user select None test('select None', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter the less than cart value test('less than cart value ', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter the cart value equal to the value test('cart value equal to the value', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter cart zero test('enter cart zero ', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter the delivary charges as zero test('enter the delivary charges as zero', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter the Delivary chrages as more than given. test('Delivary chrages as more than given.', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter the less cart value and add delivary charg to test.skip('enter the less cart value and add delivary charg to', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter the less than cart value test.skip('enter the less than cart value ', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter the zero as cart value and delivary charge test('enter the zero as cart value and delivary charge', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '0', '0', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter sound loop as 0 test(' enter sound loop as 0', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','0','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter sound loop as 100 test(' enter sound loop as 100', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','100','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter sound loop as 10 test(' enter sound loop as 10', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','10','5', '400', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //user enter cart value to max 999999 test('enter cart value to max 999999', async ({page}) =>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); const config = new AppConfig(page); await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '999999', '35', '9565456737', 'City','Tamil Nadu'); await page.waitForTimeout(3000); await page.close(); }); //test('complete AppConfig page to check API',async ({page,request})=>{ // const login = new LoginPage(page); // await login.gotoLoginPage(); // await login.loginWithCrtPassword(); // await page.waitForTimeout(5000); // const config = new AppConfig(page); // await config.functionalityAppConfig('Argentine peso ($)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu'); // await page.close(); // await page.waitForTimeout(5000); //await login.gotoLoginPage(); //await login.loginWithCrtPassword(); //await page.waitForTimeout(5000); //await config.openAppConf(); //const text =page.locator(config.currency).allInnerTexts(); //console.log(text); //expect.soft(config.currencyAPI).toContain("Argentine peso ($)"); //}) /* test('AppConfig 3',async ({page})=>{ const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const config = new AppConfig(page); // await config.toggleButton(); await config.areaSelectionTest('State'); await page.waitForTimeout(3000) // await expect(await page.locator("//div[@class='card is_shop_open_card']//span[@class='flip-indecator']").isChecked()).toBeTruthy(); // await expect(await expect("//div[@class='card is_shop_open_card']//span[@class='flip-indecator']").toHaveText('ON')) // await config.functionalityAppConfig('UAE dirham (د.إ;)', '400', '35', '9565456737', 'State', 'Tamil Nadu'); // await page.waitForTimeout(3000) // await expect(page.getByLabel("ON")).toBeVisible(); }) test('APITesting for app config',async ({request,page})=>{ const response = await request.get('https://dev.orderbookings.com/api/config/919480707707?merchantCode=919480707707') console.log(await response.json()) const res = await response.json(); const login = new LoginPage(page); await login.gotoLoginPage(); await login.loginWithCrtPassword(); await page.waitForTimeout(5000); const config = new AppConfig(page); await config.openAppConf(); expect.soft(config.merchantCode).toContain(res.data.merchantCode); const textBoxValue=await page.locator(config.calltoactionAPI).inputValue(); expect.soft(textBoxValue).toContain(res.data.call_to_action); //const currencyValue=await page.locator(config.currencyAPI).inputValue(); // expect.soft(currencyValue).toContain(res.data.currency_code); const notificationLoop = await page.locator(config.notificationSoundLoopAPI).inputValue(); expect.soft(notificationLoop).toContain((res.data.notification_sound_loop).toString()); const cancellationTillResponse = await page.locator(config.cancellationTillAPI).inputValue(); expect.soft(cancellationTillResponse).toContain((res.data.cancellation_till).toString()); const minimumCartPrizeResponse = await page.locator(config.minimumCartPrizeAPI).inputValue(); expect.soft( minimumCartPrizeResponse).toContain((res.data.minimum_cart_price).toString()); const deliveryChargeResponse = await page.locator(config.deliveryChargeAPI).inputValue(); expect.soft( deliveryChargeResponse).toContain((res.data.delivery_charge).toString()); expect.soft(config.areaTypeAPI).toContain(res.data.area_type); // const toggleButton = await page.locator(config.onOffButton).isChecked(); // const isNowToggledOn = await toggleButton.getAttribute('OFF') === 'true'; // expect.soft(toggleButton).toContain(res.data.isShopOpen); // expect(toggleButton).toBe(true) //expect.soft(config.currencyAPI).toContain(res.data.currency_code); // expect.soft(coupon.couponCodeGuest).toContain(res.data[0].campaign_code); // expect.soft(coupon.forUsersGuest).toContain(res.data[0].for); }) */