diff --git a/src/iss-components/site-footer/site-footer.vue b/src/iss-components/site-footer/site-footer.vue index a694015e..cd2fc531 100644 --- a/src/iss-components/site-footer/site-footer.vue +++ b/src/iss-components/site-footer/site-footer.vue @@ -21,9 +21,9 @@ 'form-test-invalid': (disableForwardAction || isForwardActionDisabled), 'hide-button': isForwardButtonHidden }" - :aria-disabled="disableForwardAction || isForwardActionDisabled" - :isDisabled="disableForwardAction || isForwardActionDisabled" + :isDisabled="disableForwardAction || isForwardActionDisabled || isForwardButtonHidden" data-test-id="site-footer-main-button" + buttonType="submit" @clickEvent="buttonClick" />
{ // Expect expect(spy).not.toHaveBeenCalled(); }); + + describe('Button Types', () => { + it('Should set button type to submit', async () => { + // Act + const wrapper = shallowMount( + buttonMain, + setupMocks({ + propsData: { + buttonType: 'submit' + } + }) + ); + + // Assert + const button = wrapper.find('button'); + + // Expect + expect(button.attributes('type')).toEqual('submit'); + }); + it('Should default button type to button', async () => { + // Act + const wrapper = shallowMount( + buttonMain, + setupMocks() + ); + + // Assert + const button = wrapper.find('button'); + + // Expect + expect(button.attributes('type')).toEqual('button'); + }); + }); }); diff --git a/src/ux-components/button-main/button-main.vue b/src/ux-components/button-main/button-main.vue index 39307070..e88a4b74 100644 --- a/src/ux-components/button-main/button-main.vue +++ b/src/ux-components/button-main/button-main.vue @@ -3,6 +3,7 @@ :aria-disabled="isDisabled" class="btn d-flex align-items-center justify-content-center delay" :class="[getVariant, `btn-${size}`, canOverride ? 'btn-override' : '']" + :type="buttonType" @click="clicked"> {{ buttonText }} @@ -21,7 +22,8 @@ export default { isDisabled: Boolean, isOutline: Boolean, pushToGA: Boolean, - canOverride: { type: Boolean, required: false, default: true } + canOverride: { type: Boolean, required: false, default: true }, + buttonType: { type: String, required: false, default: 'button', validator: (val) => ['button', 'submit', 'reset'].includes(val) } }, emits: ['click-event'], computed: {