# frozen_string_literal: true module DownloadHelpers TIMEOUT = 2 extend self def downloads Dir[Capybara.save_path.join("*.zip")] end def download downloads.first end def download_content wait_for_download File.read(download) end def wait_for_download Timeout.timeout(TIMEOUT) do sleep 0.1 until downloaded? end end def downloaded? !downloading? && downloads.any? end def downloading? downloads.grep(/\.part$/).any? end def clear_downloads FileUtils.rm_f(downloads) end end