# These helpers allow you to manipulate with notes.
#
# Usage:
#   describe "..." do
#     include Spec::Support::Helpers::Features::NotesHelpers
#     ...
#
#     add_note("Hello world!")
#
module Spec
  module Support
    module Helpers
      module Features
        module NotesHelpers
          def add_note(text)
            Sidekiq::Testing.fake! do
              page.within(".js-main-target-form") do
                fill_in("note[note]", with: text)
                find(".js-comment-submit-button").click
              end
            end
          end
        end
      end
    end
  end
end

# These helpers allow you to manipulate with notes.
#
# Usage:
#   describe "..." do
#     include Spec::Support::Helpers::Features::NotesHelpers
#     ...
#
#     add_note("Hello world!")
#
module Spec
  module Support
    module Helpers
      module Features
        module NotesHelpers
          def add_note(text)
            perform_enqueued_jobs do
              page.within(".js-main-target-form") do
                fill_in("note[note]", with: text)
                find(".js-comment-submit-button").click
              end
            end
          end
        end
      end
    end
  end
end

Fix flakey time-sensitive specs that rely on notes background Sidekiq jobs
Fix flakey time-sensitive specs that rely on notes background Sidekiq jobs

Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/48093

We use `perform_enqueued_jobs` because it is "adapter-agnostic so it's better to use it over Sidekiq::Testing.inline!." -- https://gitlab.com/gitlab-org/gitlab-ce/issues/22991
