Skip to content
Snippets Groups Projects
UserManagement.test.js 4.33 KiB
Newer Older
Orlando Piñero's avatar
Orlando Piñero committed
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();
    })
})