Files
dspace-angular/src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.spec.ts
2020-06-29 22:17:41 +02:00

72 lines
2.0 KiB
TypeScript

import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ParameterSelectComponent } from './parameter-select.component';
import { NO_ERRORS_SCHEMA } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { ScriptParameter } from '../../../scripts/script-parameter.model';
import { ScriptParameterType } from '../../../scripts/script-parameter-type.model';
import { By } from '@angular/platform-browser';
describe('ParameterSelectComponent', () => {
let component: ParameterSelectComponent;
let fixture: ComponentFixture<ParameterSelectComponent>;
let scriptParams: ScriptParameter[];
function init() {
scriptParams = [
Object.assign(
new ScriptParameter(),
{
name: '-a',
type: ScriptParameterType.BOOLEAN
}
),
Object.assign(
new ScriptParameter(),
{
name: '-f',
type: ScriptParameterType.FILE
}
),
]
}
beforeEach(async(() => {
init();
TestBed.configureTestingModule({
imports: [FormsModule],
declarations: [ParameterSelectComponent],
schemas: [NO_ERRORS_SCHEMA]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ParameterSelectComponent);
component = fixture.componentInstance;
component.parameters = scriptParams;
component.removable = false;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
it('should show the remove button when removable', () => {
component.removable = true;
fixture.detectChanges();
const button = fixture.debugElement.query(By.css('button.remove-button'));
expect(button).not.toBeNull();
});
it('should hide the remove button when not removable', () => {
component.removable = false;
fixture.detectChanges();
const button = fixture.debugElement.query(By.css('button.remove-button'));
expect(button).toBeNull();
});
});