diff --git a/projects/components/src/button/button.component.test.ts b/projects/components/src/button/button.component.test.ts index 1eca41e7f..0c857d605 100644 --- a/projects/components/src/button/button.component.test.ts +++ b/projects/components/src/button/button.component.test.ts @@ -4,7 +4,7 @@ import { TrackDirective } from '@hypertrace/common'; import { createHostFactory, Spectator } from '@ngneat/spectator/jest'; import { MockDirective } from 'ng-mocks'; import { IconSize } from '../icon/icon-size'; -import { ButtonRole, ButtonSize, ButtonStyle } from './button'; +import { ButtonRole, ButtonSize, ButtonStyle, ButtonType } from './button'; import { ButtonComponent } from './button.component'; import { ButtonModule } from './button.module'; @@ -26,7 +26,22 @@ describe('Button Component', () => { } }); - expect(spectator.query('.button')).toHaveClass('button secondary small solid'); + const buttonEl = spectator.query('.button'); + expect(buttonEl).toHaveClass('button secondary small solid'); + expect(buttonEl).toHaveAttribute('type', 'button'); + }); + + test('should set correct button type', () => { + spectator = createHost(``, { + hostProps: { + label: 'Button', + type: ButtonType.Submit + } + }); + + const buttonEl = spectator.query('.button'); + expect(buttonEl).toHaveClass('button secondary small solid'); + expect(buttonEl).toHaveAttribute('type', 'submit'); }); test('should have correct style class for selected role', () => { diff --git a/projects/components/src/button/button.component.ts b/projects/components/src/button/button.component.ts index b350bfd3e..ac11ffed3 100644 --- a/projects/components/src/button/button.component.ts +++ b/projects/components/src/button/button.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { IconType } from '@hypertrace/assets-library'; import { isNil } from 'lodash-es'; import { IconSize } from '../icon/icon-size'; -import { ButtonRole, ButtonSize, ButtonStyle } from './button'; +import { ButtonRole, ButtonSize, ButtonStyle, ButtonType } from './button'; @Component({ selector: 'ht-button', @@ -10,7 +10,13 @@ import { ButtonRole, ButtonSize, ButtonStyle } from './button'; changeDetection: ChangeDetectionStrategy.OnPush, template: ` -