spec/helpers/geozones_helper_spec.rb

Summary

Maintainability
A
0 mins
Test Coverage
require 'rails_helper'

describe GeozonesHelper do

  describe "#geozones_name" do
    let(:geozone) { create :geozone }

    it "returns geozone name if present" do
      spending_proposal = create(:spending_proposal, geozone: geozone)
      expect(geozone_name(spending_proposal)).to eq geozone.name
    end

    # TODO i18n : broken because of test locale change
    xit "returns default string for no geozone if geozone is blank" do
      spending_proposal = create(:spending_proposal, geozone: nil)
      expect(geozone_name(spending_proposal)).to eq "All city"
    end
  end

  describe "#geozone_select_options" do
    it "returns array of ids and names ordered by name" do
      g1 = create(:geozone, name: "AAA")
      g3 = create(:geozone, name: "CCC")
      g2 = create(:geozone, name: "BBB")

      select_options = geozone_select_options

      expect(select_options.size).to eq 3
      expect(select_options.first).to eq [g1.name, g1.id]
      expect(select_options[1]).to eq [g2.name, g2.id]
      expect(select_options.last).to eq [g3.name, g3.id]
    end
  end

  describe "#geozone_name_from_id" do

    it "returns geozone name if present" do
      g1 = create(:geozone, name: "AAA")
      g2 = create(:geozone, name: "BBB")

      expect(geozone_name_from_id(g1.id)).to eq "AAA"
      expect(geozone_name_from_id(g2.id)).to eq "BBB"
    end

    # TODO i18n : broken because of test locale change
    xit "returns default string for no geozone if geozone is blank" do
      expect(geozone_name_from_id(nil)).to eq "All city"
    end
  end

end