Sha256: acc99f4c8d739f4ef3c30e195ea516b0eb514ea37f59488e8a1546e3873fdcab

Contents?: true

Size: 1.53 KB

Versions: 2

Compression:

Stored size: 1.53 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
require 'gov_kit-ca/postal_code/strategy/greenparty_ca'

describe GovKit::CA::PostalCode::Strategy::GreenPartyCa do
  describe '#electoral_districts' do
    before :all do
      %w(G0C2Y0 T5S2B9 K0A1K0 H0H0H0 X1B1B1).each do |postal_code|
        strategy = GovKit::CA::PostalCode::Strategy::GreenPartyCa.new(postal_code)
        unless FakeWeb.allow_net_connect?
          FakeWeb.register_uri strategy.class.http_method, "#{strategy.class.base_uri}#{strategy.send(:path)}", :response => fixture_path('greenparty_ca', "#{postal_code}.response")
        end
      end
    end

    it 'should return the electoral districts within a postal code' do
      { 'G0C2Y0' => [24019],
        'T5S2B9' => [48015],
      }.each do |postal_code,electoral_districts|
        GovKit::CA::PostalCode::Strategy::GreenPartyCa.new(postal_code).electoral_districts.should == electoral_districts
      end
    end

    it 'should (unfortunately) return false if a postal code contains multiple electoral districts' do
      GovKit::CA::PostalCode::Strategy::GreenPartyCa.new('K0A1K0').electoral_districts.should be_false # B0J2L0
    end

    it 'should return false if a postal code contains no electoral districts' do
      GovKit::CA::PostalCode::Strategy::GreenPartyCa.new('H0H0H0').electoral_districts.should be_false
    end

    it 'should return false if a postal code does not exist' do
      GovKit::CA::PostalCode::Strategy::GreenPartyCa.new('X1B1B1').electoral_districts.should be_false
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
govkit-ca-0.0.6 spec/greenparty_ca_spec.rb
govkit-ca-0.0.5 spec/greenparty_ca_spec.rb