mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-09 02:54:13 +00:00
45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
|
|
/**
|
|
* Returns true if a Native Element has a specified css class.
|
|
*
|
|
* @param element
|
|
* the Native Element
|
|
* @param className
|
|
* the class name to find
|
|
*/
|
|
export const hasClass = (element: any, className: string): boolean => {
|
|
const classes = element.getAttribute('class');
|
|
return classes.split(' ').indexOf(className) !== -1;
|
|
};
|
|
|
|
/**
|
|
* Creates an instance of a component and returns test fixture.
|
|
*
|
|
* @param html
|
|
* the component's template as html
|
|
* @param type
|
|
* the type of the component to instantiate
|
|
*/
|
|
export const createTestComponent = <T>(html: string, type: { new(...args: any[]): T }): ComponentFixture<T> => {
|
|
TestBed.overrideComponent(type, {
|
|
set: {template: html}
|
|
});
|
|
const fixture = TestBed.createComponent(type);
|
|
|
|
fixture.detectChanges();
|
|
return fixture as ComponentFixture<T>;
|
|
};
|
|
|
|
export function spyOnOperator(obj: any, prop: string): any {
|
|
const oldProp = obj[prop];
|
|
Object.defineProperty(obj, prop, {
|
|
configurable: true,
|
|
enumerable: true,
|
|
value: oldProp,
|
|
writable: true
|
|
});
|
|
|
|
return spyOn(obj, prop);
|
|
}
|