This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects
likes.spec.ts 3.05 KiB
Newer Older
Eduard Frankford's avatar
Eduard Frankford committed
import { browser, ExpectedConditions as ec, promise } from 'protractor';
import { NavBarPage, SignInPage } from '../../page-objects/jhi-page-objects';

import { LikesComponentsPage, LikesDeleteDialog, LikesUpdatePage } from './likes.page-object';

const expect = chai.expect;

describe('Likes e2e test', () => {
  let navBarPage: NavBarPage;
  let signInPage: SignInPage;
  let likesComponentsPage: LikesComponentsPage;
  let likesUpdatePage: LikesUpdatePage;
  let likesDeleteDialog: LikesDeleteDialog;

  before(async () => {
    await browser.get('/');
    navBarPage = new NavBarPage();
    signInPage = await navBarPage.getSignInPage();
Eduard Frankford's avatar
Eduard Frankford committed
    await signInPage.autoSignInUsing('admin', 'search@admin');
Eduard Frankford's avatar
Eduard Frankford committed
    await browser.wait(ec.visibilityOf(navBarPage.entityMenu), 5000);
    // await navBarPage.clickOnEntityMenu();
    await browser.sleep(5000);
Eduard Frankford's avatar
Eduard Frankford committed
  });

  it('should load Likes', async () => {
    await navBarPage.goToEntity('likes');
    likesComponentsPage = new LikesComponentsPage();
    await browser.wait(ec.visibilityOf(likesComponentsPage.title), 5000);
    expect(await likesComponentsPage.getTitle()).to.eq('gitsearchApp.likes.home.title');
    await browser.wait(ec.or(ec.visibilityOf(likesComponentsPage.entities), ec.visibilityOf(likesComponentsPage.noResult)), 10000);
Eduard Frankford's avatar
Eduard Frankford committed
  });

  it('should load create Likes page', async () => {
    await likesComponentsPage.clickOnCreateButton();
    likesUpdatePage = new LikesUpdatePage();
    expect(await likesUpdatePage.getPageTitle()).to.eq('gitsearchApp.likes.home.createOrEditLabel');
    await likesUpdatePage.cancel();
  });

  it('should create and save Likes', async () => {
    const nbButtonsBeforeCreate = await likesComponentsPage.countDeleteButtons();

    await likesComponentsPage.clickOnCreateButton();

    await promise.all([
      likesUpdatePage.setDateInput('2000-12-31'),
      likesUpdatePage.setUserIDInput('5'),
      likesUpdatePage.setProjectIDInput('5'),
    ]);

    expect(await likesUpdatePage.getDateInput()).to.eq('2000-12-31', 'Expected date value to be equals to 2000-12-31');
    expect(await likesUpdatePage.getUserIDInput()).to.eq('5', 'Expected userID value to be equals to 5');
    expect(await likesUpdatePage.getProjectIDInput()).to.eq('5', 'Expected projectID value to be equals to 5');

    await likesUpdatePage.save();
    expect(await likesUpdatePage.getSaveButton().isPresent(), 'Expected save button disappear').to.be.false;

    expect(await likesComponentsPage.countDeleteButtons()).to.eq(nbButtonsBeforeCreate + 1, 'Expected one more entry in the table');
  });

  it('should delete last Likes', async () => {
    const nbButtonsBeforeDelete = await likesComponentsPage.countDeleteButtons();
    await likesComponentsPage.clickOnLastDeleteButton();

    likesDeleteDialog = new LikesDeleteDialog();
    expect(await likesDeleteDialog.getDialogTitle()).to.eq('gitsearchApp.likes.delete.question');
    await likesDeleteDialog.clickOnConfirmButton();

    expect(await likesComponentsPage.countDeleteButtons()).to.eq(nbButtonsBeforeDelete - 1);
  });

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