import { expect } from "chai"; import { By, WebDriver, until } from "selenium-webdriver"; import ojwd, { DriverManager as dm } from "@oracle/oraclejet-webdriver"; import { ojInputText, ojButton, ojListView, ojDialog, } from "@oracle/oraclejet-webdriver/elements"; describe("Create and Delete an Activity Item in the Soccer activities of the Web App", () => { let driver: WebDriver; before(async () => { driver = await dm.getDriver(); await ojwd.get(driver, "http://localhost:8000"); }); it("Select an activity", async () => { await driver .wait( until.elementLocated(By.id("activitiesList")), 20000, "Timed out after 20 seconds waiting for Activities List", 2000 ) const activitiesList = await ojListView( driver, By.id("activitiesList") ); await activitiesList.changeSelected([4]); const val: any = await activitiesList.getFirstSelectedItem(); expect(val.data.name).to.equal("Soccer"); }); it("Open the Create New Item dialog", async () => { await driver .wait( until.elementLocated(By.id("createButton")), 20000, "Timed out after 20 seconds waiting for Create Button", 2000 ) const createBtn = await ojButton(driver, By.id("createButton")); createBtn.doAction(); await driver .wait( until.elementLocated(By.id("createDialog")), 20000, "Timed out after 20 seconds waiting for Create Dialog", 2000 ) const createDialog = await ojDialog(driver, By.id("createDialog")); const title = await createDialog.getDialogTitle(); expect(title).to.equal("Create New Item"); }); it('Create New Activity Item', async () => { const createNewName = await ojInputText(driver, By.id("name")); await createNewName.changeValue("WebDriver-Created Activity Item"); const createNewPrice = await ojInputText(driver, By.id("price")); await createNewPrice.changeValue("100"); const createNewDesc = await ojInputText(driver, By.id("short_desc")); await createNewDesc.changeValue("WebDriver-created activity item"); const createNewInStock = await ojInputText(driver, By.id("quantity_instock")); await createNewInStock.changeValue("15"); const createNewShipped = await ojInputText(driver, By.id("quantity_shipped")); await createNewShipped.changeValue("16"); }); it("Get Instance of Submit Button ", async () => { await driver .wait(until.elementLocated(By.id("submitBtn")), 20000, "Timed out after 20 seconds waiting for submitBtn", 4000 ) const submitBtn = await ojButton(driver, By.id('submitBtn')); submitBtn.click(); }); it("Close the Create New Item Dialog", async () => { await driver .wait(until.elementLocated(By.id("createDialog")), 20000, "Timed out after 20 seconds waiting for createDialog", 4000 ) const createDialog = await ojDialog(driver, By.id('createDialog')); createDialog.doClose() }); after(() => dm.releaseDriver(driver)); });