import { browser, element, by, ExpectedConditions as ec } from 'protractor';

// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { NavBarPage, SignInPage, PasswordPage, SettingsPage } from '../page-objects/jhi-page-objects';

const expect = chai.expect;

describe('search', () => {
  let navBarPage: NavBarPage;
  let signInPage: SignInPage;
  const username = process.env.E2E_USERNAME || 'admin';
  const password = process.env.E2E_PASSWORD || 'search@admin';

  before(async () => {
    await browser.get('/');
    navBarPage = new NavBarPage(true);
  });

  it('should display search page', async () => {
    signInPage = await navBarPage.getSignInPage();
    await signInPage.autoSignInUsing(username, password);

    const expect2 = 'home.logged.message';
    await browser.wait(ec.visibilityOf(element(by.id('home-logged-message'))));
    const value2 = await element(by.id('home-logged-message')).getAttribute('jhiTranslate');
    expect(value2).to.eq(expect2);

    await navBarPage.clickOnSearch();
    await browser.sleep(3000);
    await browser.wait(ec.visibilityOf(element(by.id('numberOfResults'))), 10000);
  });

  after(async () => {
    await navBarPage.autoSignOut();
  });
});