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: {