aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/holiday_import.rb12
-rw-r--r--spec/models/holiday_import_spec.rb7
2 files changed, 15 insertions, 4 deletions
diff --git a/app/models/holiday_import.rb b/app/models/holiday_import.rb
index c6019fac0..98a9b96fc 100644
--- a/app/models/holiday_import.rb
+++ b/app/models/holiday_import.rb
@@ -84,10 +84,14 @@ class HolidayImport
end
def populate_from_suggestions
- holiday_info = Holidays.between(start_date, end_date, @country_code.to_sym, :observed)
- holiday_info.each do |holiday_info_hash|
- holidays << Holiday.new(:description => holiday_info_hash[:name],
- :day => holiday_info_hash[:date])
+ begin
+ holiday_info = Holidays.between(start_date, end_date, @country_code.to_sym, :observed)
+ holiday_info.each do |holiday_info_hash|
+ holidays << Holiday.new(:description => holiday_info_hash[:name],
+ :day => holiday_info_hash[:date])
+ end
+ rescue Holidays::UnknownRegionError
+ []
end
end
end
diff --git a/spec/models/holiday_import_spec.rb b/spec/models/holiday_import_spec.rb
index 59448104e..7ec5c04d5 100644
--- a/spec/models/holiday_import_spec.rb
+++ b/spec/models/holiday_import_spec.rb
@@ -102,6 +102,13 @@ describe HolidayImport do
holiday.day.should == Date.new(2014, 1, 1)
end
+ it 'returns an empty array for an unknown country code' do
+ AlaveteliConfiguration.stub(:iso_country_code).and_return('UNKNOWN_COUNTRY_CODE')
+ @holiday_import = HolidayImport.new(:source => 'suggestions')
+ @holiday_import.populate
+ expect(@holiday_import.holidays).to be_empty
+ end
+
it 'should return a flag that it has been populated' do
holidays = [ { :date => Date.new(2014, 1, 1),
:name => "New Year's Day",