const { Builder, By, until } = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome'); const webdriver = process.env.Chrome_DRIVER const service = new chrome.ServiceBuilder(webdriver); const login = require("./helperSimulations/simulateAdminLogin") describe("After entering UserManagement", () => { let driver beforeAll(async () => { driver = new Builder().forBrowser('chrome').setChromeService(service).build(); await login(driver) }) afterAll(async () => { await driver.quit(); }) it("should be able to find and click User-Management-Button", async () => { const userManagementButton = await driver.wait(until.elementLocated(By.id("OpenUserManagementPageButton")), 5000) expect(userManagementButton).toBeDefined(); await userManagementButton.click(); }) it("should be able to find User admin", async () => { const userManagementButton = await driver.wait(until.elementLocated(By.id("OpenUserManagementPageButton")), 5000) expect(userManagementButton).toBeDefined(); await userManagementButton.click(); const adminItem = await driver.wait(until.elementLocated(By.id("UserItemadmin")), 5000) expect(adminItem).toBeDefined(); }) it("should be able to find and click the button to create a user", async () => { const userManagementButton = await driver.wait(until.elementLocated(By.id("OpenUserManagementPageButton")), 5000) expect(userManagementButton).toBeDefined(); await userManagementButton.click(); const createUserButton = await driver.wait(until.elementLocated(By.id("UserManagementPageCreateUserButton")), 5000) expect(createUserButton).toBeDefined(); }) }) describe("To create new user", () => { let driver beforeAll(async () => { driver = new Builder().forBrowser('chrome').setChromeService(service).build(); await login(driver) }) afterAll(async () => { await driver.quit(); }) it("there should be a button to create a new user", async () => { const userManagementButton = await driver.wait(until.elementLocated(By.id("OpenUserManagementPageButton")), 5000) expect(userManagementButton).toBeDefined(); await userManagementButton.click(); const createUserButton = await driver.wait(until.elementLocated(By.id("UserManagementPageCreateUserButton")), 5000) expect(createUserButton).toBeDefined(); }) it("should open a dialog to create a new user", async () => { const userManagementButton = await driver.wait(until.elementLocated(By.id("OpenUserManagementPageButton")), 5000) expect(userManagementButton).toBeDefined(); await userManagementButton.click(); const createUserButton = await driver.wait(until.elementLocated(By.id("UserManagementPageCreateUserButton")), 5000) expect(createUserButton).toBeDefined(); createUserButton.click(); const userIDTextField = await driver.wait(until.elementLocated(By.id("CreateUserComponentEditUserID")), 5000) const firstNameTextField = await driver.wait(until.elementLocated(By.id("CreateUserComponentEditFirstName")), 5000) const lastNameIDTextField = await driver.wait(until.elementLocated(By.id("CreateUserComponentEditLastName")), 5000) const passwordIDTextField = await driver.wait(until.elementLocated(By.id("CreateUserComponentEditPassword")), 5000) expect(userIDTextField).toBeDefined(); expect(firstNameTextField).toBeDefined(); expect(lastNameIDTextField).toBeDefined(); expect(passwordIDTextField).toBeDefined(); await userIDTextField.sendKeys("test123") await firstNameTextField.sendKeys("Manfred") await lastNameIDTextField.sendKeys("Mustermann") await passwordIDTextField.sendKeys("asdf") const finishCreateUserButton = await driver.wait(until.elementLocated(By.id("CreateUserComponentCreateUserButton")), 5000) expect(finishCreateUserButton).toBeDefined(); finishCreateUserButton.click(); }) it("should be possible to go back to the start page", async () => { const startPageButton = await driver.wait(until.elementLocated(By.id("OpenStartPageButton")), 5000) expect(startPageButton).toBeDefined(); await startPageButton.click(); }) })