#59 added unit tests for the new trigger

This commit is contained in:
Fabio Formosa
2022-08-31 23:46:53 +02:00
parent f1c9fba68e
commit b4bb16130c
9 changed files with 274 additions and 47 deletions

View File

@@ -1,6 +1,7 @@
import {Component, EventEmitter, OnInit, Output} from '@angular/core';
import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
import {TriggerService} from '../../services/trigger.service';
import {TriggerKey} from '../../model/triggerKey.model';
import {SimpleTrigger} from '../../model/simple-trigger.model';
@Component({
selector: 'qrzmng-trigger-list',
@@ -9,10 +10,18 @@ import {TriggerKey} from '../../model/triggerKey.model';
})
export class TriggerListComponent implements OnInit {
loading = true;
triggerKeys: Array<TriggerKey> = [];
@Input()
newTriggers: Array<SimpleTrigger> = new Array<SimpleTrigger>();
@Output() openedNewTriggerFormEvent = new EventEmitter<boolean>();
loading = true;
triggerKeys: Array<TriggerKey> = new Array<TriggerKey>();
@Output() onNewTriggerClicked = new EventEmitter<void>();
triggerFormIsOpen = false;
selectedTrigger: TriggerKey;
@Output() onSelectedTrigger = new EventEmitter<TriggerKey>();
constructor(
private triggerService: TriggerService
@@ -23,14 +32,35 @@ export class TriggerListComponent implements OnInit {
this.fetchTriggers();
}
@Input()
set openedNewTriggerForm(triggerFormIsOpen: boolean){
this.triggerFormIsOpen = triggerFormIsOpen;
}
getTriggerKeyList = () => {
const newTriggerKeys = this.newTriggers.map(simpleTrigger => simpleTrigger.triggerKeyDTO);
return newTriggerKeys.concat(this.triggerKeys);
}
private fetchTriggers() {
this.triggerService.fetchTriggers()
.subscribe((triggerKeys: Array<TriggerKey>) => {
this.triggerKeys = triggerKeys;
if (!triggerKeys || triggerKeys.length === 0) {
this.onNewTriggerBtnClicked();
}
else {
this.selectTrigger(this.triggerKeys[0]);
}
})
}
openNewTriggerForm() {
this.openedNewTriggerFormEvent.emit(true);
selectTrigger(triggerKey: TriggerKey) {
this.selectedTrigger = triggerKey;
this.onSelectedTrigger.emit(triggerKey);
}
onNewTriggerBtnClicked() {
this.onNewTriggerClicked.emit();
}
}