diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue index 14e0a9e18a3c61d99855ed81de42af9c988ad89e..efd58341a2d5a5e52fdbda07aa39585c76d22a2f 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue @@ -1,6 +1,7 @@ - + { wrapper.destroy(); }); + const findLabel = () => wrapper.find('[data-testid="squashLabel"]'); + describe('checkbox', () => { const findCheckbox = () => wrapper.find('.js-squash-checkbox'); @@ -64,8 +66,6 @@ describe('Squash before merge component', () => { }); describe('label', () => { - const findLabel = () => wrapper.find('[data-testid="squashLabel"]'); - describe.each` isDisabled | expectation ${true} | ${'grays out text if it is true'} @@ -84,6 +84,27 @@ describe('Squash before merge component', () => { }); }); + describe('tooltip', () => { + const tooltipTitle = () => findLabel().element.dataset.title; + + it('does not render when isDisabled is false', () => { + createComponent({ + value: true, + isDisabled: false, + }); + expect(tooltipTitle()).toBeUndefined(); + }); + + it('display message when when isDisabled is true', () => { + createComponent({ + value: true, + isDisabled: true, + }); + + expect(tooltipTitle()).toBe('Required in this project.'); + }); + }); + describe('about link', () => { it('is not rendered if no help path is passed', () => { createComponent({