2019-10-12 21:52:04 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-10-15 14:42:47 +05:30
|
|
|
require 'spec_helper'
|
|
|
|
|
2020-06-23 00:09:42 +05:30
|
|
|
RSpec.describe 'Embedded Snippets' do
|
2018-10-15 14:42:47 +05:30
|
|
|
let(:snippet) { create(:personal_snippet, :public, file_name: 'random_dir.rb', content: content) }
|
|
|
|
let(:content) { "require 'fileutils'\nFileUtils.mkdir_p 'some/random_dir'\n" }
|
|
|
|
|
|
|
|
it 'loads snippet', :js do
|
|
|
|
script_url = "http://#{Capybara.current_session.server.host}:#{Capybara.current_session.server.port}/#{snippet_path(snippet, format: 'js')}"
|
|
|
|
embed_body = "<html><body><script src=\"#{script_url}\"></script></body></html>"
|
|
|
|
|
|
|
|
rack_app = proc do
|
|
|
|
['200', { 'Content-Type' => 'text/html' }, [embed_body]]
|
|
|
|
end
|
|
|
|
|
|
|
|
server = Capybara::Server.new(rack_app)
|
|
|
|
server.boot
|
|
|
|
|
|
|
|
visit("http://#{server.host}:#{server.port}/embedded_snippet.html")
|
|
|
|
|
|
|
|
expect(page).to have_content("random_dir.rb")
|
|
|
|
expect(page).to have_content("require 'fileutils'")
|
|
|
|
expect(page).to have_link('Open raw')
|
|
|
|
expect(page).to have_link('Download')
|
|
|
|
end
|
|
|
|
end
|