Newer
Older
* Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
import { existsAsHtmlElement, notExistsAsHtmlElement, triggerEvent } from '@alfa-client/test-utils';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { getDataTestIdOf } from '../../../../../tech-shared/test/data-test';
import { StatistikContainerComponent } from './statistik-container.component';
describe('StatistikContainerComponent', () => {
let component: StatistikContainerComponent;
let fixture: ComponentFixture<StatistikContainerComponent>;
const evaluateAdditionalFieldsTestId: string = getDataTestIdOf('weitere-felder-auswerten-button');
const statistikFieldsFormTestId: string = getDataTestIdOf('statistik-fields-form');
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [StatistikContainerComponent],
});
});
beforeEach(() => {
fixture = TestBed.createComponent(StatistikContainerComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
describe('component', () => {
it('should create', () => {
expect(component).toBeTruthy();
});
it('should set default values', () => {
expect(component.evaluateAdditionalFields).toBeDefined();
expect(component.evaluateAdditionalFields).toBeFalsy();
});
describe('onEvaluateAdditionalFieldsClick', () => {
it('should update component state', () => {
component.evaluateAdditionalFields = false;
component.onEvaluateAdditionalFields();
expect(component.evaluateAdditionalFields).toBeTruthy();
});
});
});
describe('template', () => {
describe('weiter felder auswerten button', () => {
it('should exists', () => {
fixture.detectChanges();
existsAsHtmlElement(fixture, evaluateAdditionalFieldsTestId);
});
it('should NOT exists', () => {
component.evaluateAdditionalFields = true;
fixture.detectChanges();
notExistsAsHtmlElement(fixture, evaluateAdditionalFieldsTestId);
});
describe('output', () => {
describe('clickEmitter', () => {
it('should call handler', () => {
component.onEvaluateAdditionalFields = jest.fn();
component.evaluateAdditionalFields = false;
fixture.detectChanges();
triggerEvent({
fixture,
elementSelector: evaluateAdditionalFieldsTestId,
name: 'clickEmitter',
});
expect(component.onEvaluateAdditionalFields).toHaveBeenCalled();
});
});
});
});
describe('stastik fields form', () => {
it('should exists', () => {
component.evaluateAdditionalFields = true;
fixture.detectChanges();
existsAsHtmlElement(fixture, statistikFieldsFormTestId);
});
it('should NOT exists', () => {
component.evaluateAdditionalFields = false;
fixture.detectChanges();
notExistsAsHtmlElement(fixture, statistikFieldsFormTestId);
});
});