UNPKG

ipsos-components

Version:

Material Design components for Angular

40 lines (35 loc) 1.36 kB
import {browser} from 'protractor'; import {getElement, FinderResult, waitForElement} from './query'; import {Point} from './actions'; /** * Asserts that an element exists. */ export function expectToExist(selector: string, expected = true) { return waitForElement(selector).then((isPresent: boolean) => { expect(isPresent).toBe(expected, `Expected "${selector}"${expected ? '' : ' not'} to exist`); }); } /** * Asserts that an element is focused. */ export function expectFocusOn(element: FinderResult, expected = true): void { expect(browser.driver.switchTo().activeElement().getId()).toBe( getElement(element).getId(), `Expected element${expected ? '' : ' not'} to be focused.`); } /** * Asserts that an element has a certain location. */ export function expectLocation(element: FinderResult, {x, y}: Point): void { getElement(element).getLocation().then((location: Point) => { expect(Math.round(location.x)).toEqual(Math.round(x)); expect(Math.round(location.y)).toEqual(Math.round(y)); }); } /** * Asserts that one element is aligned with another. */ export function expectAlignedWith(element: FinderResult, otherElement: FinderResult): void { getElement(otherElement).getLocation().then((location: Point) => { this.expectLocation(getElement(element), location); }); }