Sha256: 17f4c4c47998abf682ba55c85c15ca3e24a3cd17daad1e459fdef2e6f48ac914

Contents?: true

Size: 1.88 KB

Versions: 1

Compression:

Stored size: 1.88 KB

Contents

require 'rails_helper'

module JpAddress
  RSpec.describe Zipcode, type: :model do

    describe ".download_master_file_from_japanpost" do
      it "download zipcode file from japan-postal-site" do
        VCR.use_cassette 'download_master_file_from_japanpost' do
          expect(JpAddress::Zipcode.download_master_file_from_japanpost).to eq :success
        end
      end
    end

    describe ".load_master_data" do
      it "load master data csv to table" do
        JpAddress::Zipcode.load_master_data 'spec/support/files/sample_ken.csv'
        expect(JpAddress::Zipcode.count).to eq 5
        expect(JpAddress::Zipcode.last.prefecture).to eq '北海道'
      end
    end

    describe "._remove_needless_words" do
      it "remove needless words" do
        expect(JpAddress::Zipcode.send(:_remove_needless_words, '以下に掲載がない場合')).to eq ''
        expect(JpAddress::Zipcode.send(:_remove_needless_words, '大通西(1~19丁目)')).to eq '大通西'
      end
    end

    describe "._find_shared_name_from" do
      it "find shared name" do
        list = %w[
          鳴子温泉小身川
          鳴子温泉川袋
          鳴子温泉木戸脇
          鳴子温泉黒崎
          鳴子温泉小室
          鳴子温泉小室山
          鳴子温泉境松
        ]
        expect(JpAddress::Zipcode.send(:_find_shared_name_from, list)).to eq '鳴子温泉'

        list = %w[
          大通東
          大通西
          大通西
        ]
        expect(JpAddress::Zipcode.send(:_find_shared_name_from, list)).to eq '大通'

        list = %w[
          大通西
          大通東
          旭ケ丘
        ]
        expect(JpAddress::Zipcode.send(:_find_shared_name_from, list)).to eq ''

        list = %w[
          大分
          大阪
        ]
        expect(JpAddress::Zipcode.send(:_find_shared_name_from, list)).to eq ''
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jp_address-1.0.2 spec/models/jp_address/zipcode_spec.rb