demarches-normaliennes/spec/support/download_helpers.rb

39 lines
556 B
Ruby
Raw Normal View History

# 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