From 8e79086a284531beffe1f14d90ec3054f8a1b13f Mon Sep 17 00:00:00 2001 From: David Keyworth Date: Thu, 17 Oct 2024 14:52:07 -0400 Subject: [PATCH] fix(Button): Set the native disabled attribute as well as preventing events --- .../src/elements/button/Button.spec.ts | 48 ++++++++++++++++++- .../src/elements/button/Button.ts | 13 ++++- 2 files changed, 57 insertions(+), 4 deletions(-) diff --git a/projects/novo-elements/src/elements/button/Button.spec.ts b/projects/novo-elements/src/elements/button/Button.spec.ts index 639be56d1..43c6d09ed 100644 --- a/projects/novo-elements/src/elements/button/Button.spec.ts +++ b/projects/novo-elements/src/elements/button/Button.spec.ts @@ -1,10 +1,12 @@ // NG2 -import { TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; // APP import { NovoButtonElement } from './Button'; +import { Component, Input } from '@angular/core'; describe('Elements: NovoButtonElement', () => { - let fixture; + let fixture: ComponentFixture; let component; beforeAll(() => { @@ -21,4 +23,46 @@ describe('Elements: NovoButtonElement', () => { it('should be compiled', () => { expect(component).toBeDefined(); }); + + it('should not assign disabled attribute to self when registered as ', () => { + fixture.componentRef.setInput('disabled', true); + fixture.detectChanges(); + expect(fixture.debugElement.nativeElement.getAttribute('disabled')).toBe(null); + }); }); + +@Component({ + template: '', + selector: 'test-button-component', +}) +class TestButtonContainer { + @Input() disableButton = false; +} + +describe('