Sha256: 74f8789451e58253836b16352ff0f622a7b333acdec6a9cf83284003b3e214cd

Contents?: true

Size: 1.04 KB

Versions: 5

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true
# Specs for all of the PageSpeed code and matchers.

require 'spec_helper'
require 'rspec/webservice_matchers'
require 'rspec/webservice_matchers/util'

SAMPLE_JSON_RESPONSE = 'spec/fixtures/pagespeed.json'

describe RSpec::WebserviceMatchers::BeFast do
  describe '#parse' do
    it 'can parse the overall score' do
      api_response = File.read(SAMPLE_JSON_RESPONSE)
      data = RSpec::WebserviceMatchers::BeFast.parse(json: api_response)
      expect(data[:score]).to eq(85)
    end
  end

  describe '#be_fast' do
    it 'performs a Google PageSpeed Insights API query on a fast site' do
      expect('nonstop.qa').to be_fast
    end

    it 'raises a friendly error if the api key has not been set' do
      # Remove the key
      key = ENV['WEBSERVICE_MATCHER_INSIGHTS_KEY']
      ENV['WEBSERVICE_MATCHER_INSIGHTS_KEY'] = nil

      expect {
        expect('nonstop.qa').not_to be_fast
      }.to raise_error(RuntimeError, /API key/)

      # Replace the key
      ENV['WEBSERVICE_MATCHER_INSIGHTS_KEY'] = key
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rspec-webservice_matchers-4.9.0 spec/rspec/webservice_matchers/page_speed_spec.rb
rspec-webservice_matchers-4.8.1 spec/rspec/webservice_matchers/page_speed_spec.rb
rspec-webservice_matchers-4.8.0 spec/rspec/webservice_matchers/page_speed_spec.rb
rspec-webservice_matchers-4.7.0 spec/rspec/webservice_matchers/page_speed_spec.rb
rspec-webservice_matchers-4.6.0 spec/rspec/webservice_matchers/page_speed_spec.rb