const {test, expect} =require('@playwright/test')
|
|
import { LoginPage } from '../pages/LoginPage';
|
|
import { AppConfig } from '../pages/AppConfig';
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
const login = new LoginPage(page);
|
|
await login.gotoLoginPage();
|
|
await login.loginWithCrtPassword();
|
|
});
|
|
|
|
|
|
//Merchant Verify that the selected currency symbol is displayed correctly(In Regression Suite)
|
|
test('TC-AC-02: Select as Indonesian rupiah (Rp)', async ({page}) =>{
|
|
|
|
//Navigate to App Config Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
const locator = page.locator("//select[@id='oba_appconfig_select_currency']");
|
|
await expect(locator).toContainText('Indonesian rupiah (Rp)');
|
|
await page.waitForTimeout(1000);
|
|
await page.close();
|
|
});
|
|
|
|
//(In Regression Suite)
|
|
test('TC-AC-03: AppConfig button is working or not',async ({page})=>{
|
|
|
|
//Navigate to Login Page
|
|
const login = new LoginPage(page);
|
|
await login.gotoLoginPage();
|
|
await login.loginWithCrtPassword();
|
|
|
|
await page.waitForTimeout(5000);
|
|
|
|
//Navigate to App Config Oage
|
|
const config = new AppConfig(page);
|
|
await config.openAppConf();
|
|
|
|
await page.waitForTimeout(3000)
|
|
|
|
//Assertions
|
|
await expect(await page.locator(config.notificationSoundLoop)).toBeVisible();
|
|
})
|
|
|
|
|
|
|
|
/*-----------------------------Call to Action------------------------------------------------*/
|
|
|
|
//Call To Action for empty (In Regression Suite)
|
|
test.skip('Action call for empty ',async ({page})=>{
|
|
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '', 'City','Tamil Nadu');
|
|
|
|
await page.close();
|
|
});
|
|
|
|
//Call To Action contains numbers starting with 23
|
|
test('TC-AC-05: Action contains numbers starting with 23 ',async ({page})=>{
|
|
|
|
//Navigate to config Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '2355456737', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
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('TC-AC-06: Call To Action for Letters',async ({page})=>{
|
|
|
|
//Navigate to Config Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', 'AFHGDGJNBVJ', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
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('TC-AC-07: Call to Action only 9 numbers' ,async({page})=>{
|
|
|
|
//Navigate to config page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '956456737', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
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('TC-AC-08: call to action using special characters', async({page})=>{
|
|
|
|
//Navigate to App Configuration Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '95#5456737', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
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('TC-AC-09: space for action call',async({page})=>{
|
|
|
|
//Navigate to App Configuration Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', ' 965 526 ', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
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('TC-AC-10: International Number', async({page})=>{
|
|
|
|
//Navigate to App Configuration Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '456236216514', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
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('TC-AC-11: Enter Alphabet', async({page})=>{
|
|
|
|
//Navigate to App Configuration Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', 'hjgfdjsfjk', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
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('TC-AC-12: 11 digits', async({page})=>{
|
|
|
|
//Navigate to App Configuration Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '96548712396', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
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('TC-AC-16: 10 digits', async({page})=>{
|
|
|
|
//Navigate to App Configuration Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
|
|
|
|
//Assertions
|
|
const PhoneNumber = await page.locator("//input[@id='oba_appconfig_call_to_action']").inputValue();
|
|
expect.soft(PhoneNumber).toContain(('9565456737').toString());
|
|
await page.close();
|
|
})
|
|
|
|
|
|
|
|
//Merchant add valid details
|
|
test('TC-AC-17: Valid Number starts with 6,7,8,9',async({page})=>{
|
|
|
|
//Navigate to App Configuration Page
|
|
const config = new AppConfig(page);
|
|
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '6565456737', 'City','Tamil Nadu');
|
|
|
|
|
|
//Assertions
|
|
const actionNumber = await page.locator("//input[@id='oba_appconfig_call_to_action']").inputValue();
|
|
expect.soft(actionNumber).toContain(('6565456737').toString());
|
|
|
|
|
|
await page.close();
|
|
})
|
|
|
|
|
|
|
|
|
|
//Unable to assert
|
|
|
|
|
|
/*-----------------------------------------------------------------------------------*/
|
|
//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.skip('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');
|
|
|
|
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.skip('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.skip('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.skip('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.skip('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.skip('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.skip('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.skip('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.skip('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.skip('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.skip(' 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.skip(' 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.skip(' 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.skip('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);
|
|
})
|
|
|
|
*/
|