govuk_content_models 14.0.0 → 14.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 14.0.1
2
+ * Valdations for Business support scheme dates.
3
+
1
4
  ## 14.0.0
2
5
  * Remove `Attachment` model.
3
6
 
@@ -32,6 +32,7 @@ class BusinessSupportEdition < Edition
32
32
 
33
33
  GOVSPEAK_FIELDS = Edition::GOVSPEAK_FIELDS + [:body, :eligibility, :evaluation, :additional_information]
34
34
 
35
+ validate :scheme_dates
35
36
  validate :min_must_be_less_than_max
36
37
  validates_format_of :continuation_link, :with => URI::regexp(%w(http https)), :allow_blank => true
37
38
 
@@ -70,4 +71,13 @@ class BusinessSupportEdition < Edition
70
71
  end
71
72
  criteria
72
73
  end
74
+
75
+ def scheme_dates
76
+ errors.add(:start_date, "year must be 4 digits") if start_date.present? && start_date.year.to_s.length != 4
77
+ errors.add(:end_date, "year must be 4 digits") if end_date.present? && end_date.year.to_s.length != 4
78
+
79
+ if start_date.present? && end_date.present? && start_date > end_date
80
+ errors.add(:start_date, "can't be later than end date")
81
+ end
82
+ end
73
83
  end
@@ -286,4 +286,5 @@ class Edition
286
286
  actions.select { |a| a.request_type == 'publish' }.last.diff # diff with previous published version
287
287
  end
288
288
  end
289
+
289
290
  end
@@ -1,4 +1,4 @@
1
1
  module GovukContentModels
2
2
  # Changing this causes Jenkins to tag and release the gem into the wild
3
- VERSION = "14.0.0"
3
+ VERSION = "14.0.1"
4
4
  end
@@ -217,4 +217,23 @@ class BusinessSupportEditionTest < ActiveSupport::TestCase
217
217
  assert_empty editions
218
218
  end
219
219
  end
220
+
221
+ context "scheme dates" do
222
+ should "should have year with 4 digits length" do
223
+ invalid_edition = FactoryGirl.build(:business_support_edition, start_date: Date.new(99, 12, 31), end_date: Date.new(99, 12, 31))
224
+
225
+ refute invalid_edition.valid?
226
+
227
+ edition_errors = invalid_edition.errors.full_messages
228
+ assert_includes edition_errors, "Start date year must be 4 digits"
229
+ assert_includes edition_errors, "End date year must be 4 digits"
230
+ end
231
+
232
+ should "have start date earlier than end date" do
233
+ invalid_edition = FactoryGirl.build(:business_support_edition, start_date: 1.week.ago, end_date: 2.weeks.ago)
234
+
235
+ refute invalid_edition.valid?
236
+ assert_includes invalid_edition.errors.full_messages, "Start date can't be later than end date"
237
+ end
238
+ end
220
239
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_content_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 14.0.0
4
+ version: 14.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-07-04 00:00:00.000000000 Z
12
+ date: 2014-07-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bson_ext
@@ -466,7 +466,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
466
466
  version: '0'
467
467
  segments:
468
468
  - 0
469
- hash: 4433079101509813617
469
+ hash: 2796015811550823768
470
470
  required_rubygems_version: !ruby/object:Gem::Requirement
471
471
  none: false
472
472
  requirements:
@@ -475,7 +475,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
475
475
  version: '0'
476
476
  segments:
477
477
  - 0
478
- hash: 4433079101509813617
478
+ hash: 2796015811550823768
479
479
  requirements: []
480
480
  rubyforge_project:
481
481
  rubygems_version: 1.8.23