From 72b1c6f452385ee7a49d97cd7a0d7b08d8ae3d6c Mon Sep 17 00:00:00 2001
From: "Zickermann, Jan" <jan.zickermann@dataport.de>
Date: Tue, 26 Mar 2024 16:05:23 +0100
Subject: [PATCH] OZG-4995 Test more-item-button

---
 .../more-item-button.component.spec.ts        | 33 ++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/alfa-client/libs/admin-settings/src/lib/shared/more-menu/more-item-button/more-item-button.component.spec.ts b/alfa-client/libs/admin-settings/src/lib/shared/more-menu/more-item-button/more-item-button.component.spec.ts
index 17e297333e..1ecddaba7b 100644
--- a/alfa-client/libs/admin-settings/src/lib/shared/more-menu/more-item-button/more-item-button.component.spec.ts
+++ b/alfa-client/libs/admin-settings/src/lib/shared/more-menu/more-item-button/more-item-button.component.spec.ts
@@ -1,10 +1,13 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MoreItemButtonComponent } from './more-item-button.component';
+import { dispatchEventFromFixture, getElementFromFixture } from '@alfa-client/test-utils';
 
-describe('FlatButtonComponent', () => {
+describe('MoreItemButtonComponent', () => {
   let component: MoreItemButtonComponent;
   let fixture: ComponentFixture<MoreItemButtonComponent>;
 
+  const buttonSelector: string = 'button';
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [MoreItemButtonComponent],
@@ -18,4 +21,32 @@ describe('FlatButtonComponent', () => {
   it('should create', () => {
     expect(component).toBeTruthy();
   });
+
+  it('should show label', () => {
+    const text: string = 'test-text';
+    component.label = text;
+
+    fixture.detectChanges();
+
+    const buttonElement: HTMLButtonElement = getElementFromFixture(fixture, buttonSelector);
+    expect(buttonElement.textContent.trim()).toEqual(text);
+  });
+
+  it.each([false, true])('should use disabled "%s"', (disabled) => {
+    const text: string = 'test-text';
+    component.disabled = disabled;
+
+    fixture.detectChanges();
+
+    const buttonElement: HTMLButtonElement = getElementFromFixture(fixture, buttonSelector);
+    expect(buttonElement.disabled).toBe(disabled);
+  });
+
+  it('should emit clickEmitter', () => {
+    component.clickEmitter.emit = jest.fn();
+
+    dispatchEventFromFixture(fixture, buttonSelector, 'click');
+
+    expect(component.clickEmitter.emit).toHaveBeenCalled();
+  });
 });
-- 
GitLab