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 adminLogin = require("./helperSimulations/simulateAdminLogin");
const createTest123 = require('./helperSimulations/createTest123');

describe("delete User", () => {
    let driver

    beforeAll(async () => {
        driver = new Builder().forBrowser('chrome').setChromeService(service).build();
    })

    afterAll(async () => {
        await driver.quit();
    })

    it("should be able to delete user test123 by UserManagement", async () => {
        createTest123(driver)
        const deleteButton = await driver.wait(until.elementLocated(By.id("UserItemDeleteButtontest123")), 5000)
        expect(deleteButton).toBeDefined()
        deleteButton.click()
        const confirmDeleteButton = await driver.wait(until.elementLocated(By.id("DeleteDialogConfirmButton")), 5000)
        confirmDeleteButton.click()
    })

    it("should not show test123 in the UserManagement anymore", async () => {
        await adminLogin(driver);
        const notFoundUser = await driver.findElements(By.id('UserItemtest123'));
        expect(notFoundUser.length).toBe(0);
    })
})