govuk_content_models 8.10.0 → 9.0.0
Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md
CHANGED
@@ -17,7 +17,6 @@ class BusinessSupportEdition < Edition
|
|
17
17
|
field :continuation_link, type: String
|
18
18
|
field :will_continue_on, type: String
|
19
19
|
field :contact_details, type: String
|
20
|
-
field :business_support_identifier, type: String
|
21
20
|
|
22
21
|
field :priority, type: Integer, default: 1
|
23
22
|
field :business_types, type: Array, default: []
|
@@ -30,13 +29,9 @@ class BusinessSupportEdition < Edition
|
|
30
29
|
field :start_date, type: Date
|
31
30
|
field :end_date, type: Date
|
32
31
|
|
33
|
-
index :business_support_identifier
|
34
|
-
|
35
32
|
GOVSPEAK_FIELDS = Edition::GOVSPEAK_FIELDS + [:body, :eligibility, :evaluation, :additional_information]
|
36
33
|
|
37
34
|
validate :min_must_be_less_than_max
|
38
|
-
validates :business_support_identifier, :presence => true
|
39
|
-
validate :business_support_identifier_unique
|
40
35
|
validates_format_of :continuation_link, :with => URI::regexp(%w(http https)), :allow_blank => true
|
41
36
|
|
42
37
|
# https://github.com/mongoid/mongoid/issues/1735 Really Mongoid‽
|
@@ -44,10 +39,8 @@ class BusinessSupportEdition < Edition
|
|
44
39
|
|
45
40
|
@fields_to_clone = [:body, :min_value, :max_value, :max_employees, :organiser,
|
46
41
|
:eligibility, :evaluation, :additional_information, :continuation_link,
|
47
|
-
:will_continue_on, :contact_details, :short_description,
|
48
|
-
:
|
49
|
-
:locations, :purposes, :sectors, :stages, :support_types,
|
50
|
-
:start_date, :end_date]
|
42
|
+
:will_continue_on, :contact_details, :short_description, :priority, :business_sizes,
|
43
|
+
:locations, :purposes, :sectors, :stages, :support_types, :start_date, :end_date]
|
51
44
|
|
52
45
|
scope :for_facets, lambda { |facets|
|
53
46
|
where({ "$and" => facets_criteria(facets) }).order_by([:priority, :desc], [:title, :asc])
|
@@ -67,13 +60,6 @@ class BusinessSupportEdition < Edition
|
|
67
60
|
end
|
68
61
|
end
|
69
62
|
|
70
|
-
def business_support_identifier_unique
|
71
|
-
if self.class.without_state('archived').where(:business_support_identifier => business_support_identifier,
|
72
|
-
:panopticon_id.ne => panopticon_id).any?
|
73
|
-
errors.add(:business_support_identifier, :taken)
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
63
|
def self.facets_criteria(facets)
|
78
64
|
criteria = []
|
79
65
|
facets.each do |facet_name, values|
|
@@ -20,7 +20,6 @@ class BusinessSupportEditionTest < ActiveSupport::TestCase
|
|
20
20
|
support.continuation_link = "http://www.gov.uk"
|
21
21
|
support.will_continue_on = "The GOVUK website"
|
22
22
|
support.contact_details = "123 The Street, Townsville, UK. 07324 123456"
|
23
|
-
support.business_support_identifier = "123-4-5"
|
24
23
|
|
25
24
|
support.priority = 2
|
26
25
|
support.business_sizes << "up-to-249"
|
@@ -48,7 +47,6 @@ class BusinessSupportEditionTest < ActiveSupport::TestCase
|
|
48
47
|
assert_equal "http://www.gov.uk", support.continuation_link
|
49
48
|
assert_equal "The GOVUK website", support.will_continue_on
|
50
49
|
assert_equal "123 The Street, Townsville, UK. 07324 123456", support.contact_details
|
51
|
-
assert_equal "123-4-5", support.business_support_identifier
|
52
50
|
|
53
51
|
assert_equal 2, support.priority
|
54
52
|
assert_equal ["up-to-249"], support.business_sizes
|
@@ -70,33 +68,6 @@ class BusinessSupportEditionTest < ActiveSupport::TestCase
|
|
70
68
|
refute support.valid?
|
71
69
|
end
|
72
70
|
|
73
|
-
should "require a business_support_identifier" do
|
74
|
-
support = FactoryGirl.build(:business_support_edition, :business_support_identifier => '')
|
75
|
-
assert ! support.valid?, "expected business support edition not to be valid"
|
76
|
-
end
|
77
|
-
|
78
|
-
context "business support identifier uniqueness" do
|
79
|
-
setup do
|
80
|
-
@support = FactoryGirl.build(:business_support_edition, panopticon_id: @artefact.id)
|
81
|
-
@another_artefact = FactoryGirl.create(:artefact)
|
82
|
-
end
|
83
|
-
should "have a unique business support identifier" do
|
84
|
-
another_support = FactoryGirl.create(:business_support_edition, panopticon_id: @another_artefact.id,
|
85
|
-
:business_support_identifier => "this-should-be-unique")
|
86
|
-
@support.business_support_identifier = "this-should-be-unique"
|
87
|
-
assert !@support.valid?, "business_support_identifier should be unique"
|
88
|
-
@support.business_support_identifier = "this-is-different"
|
89
|
-
assert @support.valid?, "business_support_identifier should be unique"
|
90
|
-
end
|
91
|
-
|
92
|
-
should "not consider archived editions when evaluating uniqueness" do
|
93
|
-
another_support = FactoryGirl.create(:business_support_edition, panopticon_id: @another_artefact.id,
|
94
|
-
:business_support_identifier => "this-should-be-unique", :state => "archived")
|
95
|
-
@support.business_support_identifier = "this-should-be-unique"
|
96
|
-
assert @support.valid?, "business_support should be valid"
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
71
|
context "numeric field validations" do
|
101
72
|
# https://github.com/mongoid/mongoid/issues/1735 Really Mongoid‽
|
102
73
|
[
|
@@ -154,7 +125,6 @@ class BusinessSupportEditionTest < ActiveSupport::TestCase
|
|
154
125
|
support = FactoryGirl.create(:business_support_edition,
|
155
126
|
:panopticon_id => @artefact.id,
|
156
127
|
:state => "published",
|
157
|
-
:business_support_identifier => "1234",
|
158
128
|
:short_description => "Short description of support format",
|
159
129
|
:body => "Body to be cloned",
|
160
130
|
:min_value => 1,
|
@@ -179,7 +149,6 @@ class BusinessSupportEditionTest < ActiveSupport::TestCase
|
|
179
149
|
|
180
150
|
new_support = support.build_clone
|
181
151
|
|
182
|
-
assert_equal support.business_support_identifier, new_support.business_support_identifier
|
183
152
|
assert_equal support.short_description, new_support.short_description
|
184
153
|
assert_equal support.body, new_support.body
|
185
154
|
assert_equal support.min_value, new_support.min_value
|
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:
|
4
|
+
version: 9.0.0
|
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-03-
|
12
|
+
date: 2014-03-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bson_ext
|
@@ -463,7 +463,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
463
463
|
version: '0'
|
464
464
|
segments:
|
465
465
|
- 0
|
466
|
-
hash:
|
466
|
+
hash: 2687494415806384648
|
467
467
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
468
468
|
none: false
|
469
469
|
requirements:
|
@@ -472,7 +472,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
472
472
|
version: '0'
|
473
473
|
segments:
|
474
474
|
- 0
|
475
|
-
hash:
|
475
|
+
hash: 2687494415806384648
|
476
476
|
requirements: []
|
477
477
|
rubyforge_project:
|
478
478
|
rubygems_version: 1.8.23
|