diff options
author | Luke Bennett <lbennett@gitlab.com> | 2018-10-15 13:36:19 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2018-10-15 13:36:19 +0000 |
commit | 7cf19c0b816bf7bc146a7f634c65d2e7484f26e1 (patch) | |
tree | 1fd5af973b40f7793a9824765d961098a1c60faf /spec/support/shared_examples/dirty_submit_form_shared_examples.rb | |
parent | 280a132e15c8e1f66487312584e734b108b00df7 (diff) | |
download | gitlab-ce-7cf19c0b816bf7bc146a7f634c65d2e7484f26e1.tar.gz |
Prioritize group settings, improve panel titles, disable submit without changes
Diffstat (limited to 'spec/support/shared_examples/dirty_submit_form_shared_examples.rb')
-rw-r--r-- | spec/support/shared_examples/dirty_submit_form_shared_examples.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/support/shared_examples/dirty_submit_form_shared_examples.rb b/spec/support/shared_examples/dirty_submit_form_shared_examples.rb new file mode 100644 index 00000000000..ba363593120 --- /dev/null +++ b/spec/support/shared_examples/dirty_submit_form_shared_examples.rb @@ -0,0 +1,24 @@ +shared_examples 'dirty submit form' do |selector_args| + selectors = selector_args.is_a?(Array) ? selector_args : [selector_args] + + selectors.each do |selector| + it "disables #{selector[:form]} submit until there are changes", :js do + form = find(selector[:form]) + submit = form.first('.js-dirty-submit') + input = form.first(selector[:input]) + original_value = input.value + + expect(submit.disabled?).to be true + + input.set("#{original_value} changes") + + form.find('.js-dirty-submit:not([disabled])', match: :first) + expect(submit.disabled?).to be false + + input.set(original_value) + + form.find('.js-dirty-submit[disabled]', match: :first) + expect(submit.disabled?).to be true + end + end +end |