Sha256: 210b250500b529267f6e1029fc3ab0545d0ecd5d3a4ce40e65bae7631a016a30

Contents?: true

Size: 1.86 KB

Versions: 9

Compression:

Stored size: 1.86 KB

Contents

require 'sprockets'

class SimpleRackApp
  def self.call(env)
    [200, {}, 'Hello World']
  end
end

RSpec.describe Percy::Capybara::Loaders::SprocketsLoader do
  let(:loader) do
    described_class.new(
      page: page,
      sprockets_environment: environment,
      sprockets_options: sprockets_options,
    )
  end
  let(:environment) do
    root = File.expand_path("../../client/testdata", __FILE__)
    environment = Sprockets::Environment.new(root)
    environment.append_path '.'
    environment
  end
  let(:sprockets_options) do
    options = double('options')
    allow(options).to receive(:precompile).and_return([/(?:\/|\\|\A)base\.(css|js)$/])
    allow(options).to receive(:digest).and_return(false)
    options
  end

  describe '#snapshot_resources' do
    context 'Rack::Test', type: :feature do
      before(:each) { Capybara.app = SimpleRackApp }

      it 'returns the root HTML resource' do
        visit '/'
        resources = loader.snapshot_resources
        expect(resources.map { |r| r.resource_url }).to eq(["/"])
        expect(resources.first.is_root).to eq(true)
        expect(resources.first.content).to include('Hello World')
      end
    end
    context 'Capybara::Webkit', type: :feature, js: true do
      it 'returns the root HTML resource' do
        visit '/'
        resources = loader.snapshot_resources
        expect(resources.map { |r| r.resource_url }).to eq(["/"])
        expect(resources.first.is_root).to eq(true)
        expect(resources.first.content).to include('Hello World!</body></html>')
      end
    end
  end
  describe '#build_resources', type: :feature do
    it 'returns "build resources" from filtered sprockets paths' do
      resources = loader.build_resources
      expect(resources.map { |r| r.resource_url }).to eq(["/assets/css/base.css"])
      expect(resources.first.content).to include('.colored-by-base')
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
percy-capybara-0.4.9 spec/lib/percy/capybara/loaders/sprockets_loader_spec.rb
percy-capybara-0.4.8 spec/lib/percy/capybara/loaders/sprockets_loader_spec.rb
percy-capybara-0.4.7 spec/lib/percy/capybara/loaders/sprockets_loader_spec.rb
percy-capybara-0.4.6 spec/lib/percy/capybara/loaders/sprockets_loader_spec.rb
percy-capybara-0.4.5 spec/lib/percy/capybara/loaders/sprockets_loader_spec.rb
percy-capybara-0.4.4 spec/lib/percy/capybara/loaders/sprockets_loader_spec.rb
percy-capybara-0.4.3 spec/lib/percy/capybara/loaders/sprockets_loader_spec.rb
percy-capybara-0.4.2 spec/lib/percy/capybara/loaders/sprockets_loader_spec.rb
percy-capybara-0.4.1 spec/lib/percy/capybara/loaders/sprockets_loader_spec.rb