Sha256: 65f05b18403e231c41d59cba838c4d739083462517537b0f5808dbd4d9dd8141

Contents?: true

Size: 1.79 KB

Versions: 9

Compression:

Stored size: 1.79 KB

Contents

# encoding: utf-8
require 'spec_helper'

describe Actions::ShowAvailableProxyPacFiles do
  let(:valid_pac_file) do <<-EOS.strip_heredoc.chomp
                           function FindProxyForURL(url, host) {
                             return "DIRECT";
                           }
  EOS
  end

  context '#initialize' do
    it 'requires a git repository' do
      expect { 
        Actions::ShowAvailableProxyPacFiles.new(working_directory)
      }.not_to raise_error
    end
  end

  context '#run' do
    it 'shows proxy.pac files in repo' do
      repo = GitRepository.create(working_directory)
      repo.add_content('proxy.pac', 'asdf()')
      repo.add_content('proxy1.pac', 'asd1f()')

      action = Actions::ShowAvailableProxyPacFiles.new(working_directory)

      result = capture(:stdout) do
        LocalPac.ui_logger.level = :info
        action.run
      end

      expect(result).to include('proxy.pac')
    end

    it 'checks if pac file is valid' do
      repo = GitRepository.create(working_directory)
      repo.add_content('proxy.pac', valid_pac_file)
      repo.add_content('proxy1.pac', 'asd1f()')

      action = Actions::ShowAvailableProxyPacFiles.new(working_directory)

      result = capture(:stdout) do
        LocalPac.ui_logger.level = :info
        action.run
      end

      expect(result).to include('true')
      expect(result).to include('false')
    end

    it 'ignores non-pac-files' do
      repo = GitRepository.create(working_directory)
      repo.add_content('proxy.pac', valid_pac_file)
      repo.add_content('proxy1.txt', 'asd1f()')

      action = Actions::ShowAvailableProxyPacFiles.new(working_directory)

      result = capture(:stdout) do
        LocalPac.ui_logger.level = :info
        action.run
      end

      expect(result).not_to include('proxy1.txt')
    end

  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
local_pac-0.10.2 spec/actions/show_available_proxy_pac_files_spec.rb
local_pac-0.10.1 spec/actions/show_available_proxy_pac_files_spec.rb
local_pac-0.10.0 spec/actions/show_available_proxy_pac_files_spec.rb
local_pac-0.9.0 spec/actions/show_available_proxy_pac_files_spec.rb
local_pac-0.7.0 spec/actions/show_available_proxy_pac_files_spec.rb
local_pac-0.6.3 spec/actions/show_available_proxy_pac_files_spec.rb
local_pac-0.6.2 spec/actions/show_available_proxy_pac_files_spec.rb
local_pac-0.6.1 spec/actions/show_available_proxy_pac_files_spec.rb
local_pac-0.5.0 spec/actions/show_available_proxy_pac_files_spec.rb