aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/compliance_check_message.rb3
-rw-r--r--app/models/compliance_check_set.rb3
-rw-r--r--db/migrate/20171002080526_add_compliance_check_set_to_compliance_check_message.rb5
-rw-r--r--db/schema.rb7
-rw-r--r--spec/factories/compliance_check_messages.rb1
-rw-r--r--spec/models/compliance_check_message_spec.rb1
6 files changed, 17 insertions, 3 deletions
diff --git a/app/models/compliance_check_message.rb b/app/models/compliance_check_message.rb
index 562c09c0e..738bd4a4b 100644
--- a/app/models/compliance_check_message.rb
+++ b/app/models/compliance_check_message.rb
@@ -1,8 +1,11 @@
class ComplianceCheckMessage < ActiveRecord::Base
extend Enumerize
+ belongs_to :compliance_check_set
belongs_to :compliance_check
belongs_to :compliance_check_resource
enumerize :status, in: %i(OK ERROR WARNING IGNORED), scope: true
+
+ validates_presence_of :compliance_check_set
end
diff --git a/app/models/compliance_check_set.rb b/app/models/compliance_check_set.rb
index f1f4a9f94..4c00c3516 100644
--- a/app/models/compliance_check_set.rb
+++ b/app/models/compliance_check_set.rb
@@ -6,7 +6,8 @@ class ComplianceCheckSet < ActiveRecord::Base
belongs_to :workbench
belongs_to :parent, polymorphic: true
- has_many :compliance_check_set
+ has_many :compliance_check_resources
+ has_many :compliance_check_messages
enumerize :status, in: %w[new pending successful warning failed running aborted canceled]
diff --git a/db/migrate/20171002080526_add_compliance_check_set_to_compliance_check_message.rb b/db/migrate/20171002080526_add_compliance_check_set_to_compliance_check_message.rb
new file mode 100644
index 000000000..74f74a858
--- /dev/null
+++ b/db/migrate/20171002080526_add_compliance_check_set_to_compliance_check_message.rb
@@ -0,0 +1,5 @@
+class AddComplianceCheckSetToComplianceCheckMessage < ActiveRecord::Migration
+ def change
+ add_reference :compliance_check_messages, :compliance_check_set, index: true, foreign_key: true
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 3593576de..792b42258 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20170928144740) do
+ActiveRecord::Schema.define(version: 20171002080526) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -164,10 +164,12 @@ ActiveRecord::Schema.define(version: 20170928144740) do
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "status"
+ t.integer "compliance_check_set_id"
end
add_index "compliance_check_messages", ["compliance_check_id"], name: "index_compliance_check_messages_on_compliance_check_id", using: :btree
add_index "compliance_check_messages", ["compliance_check_resource_id"], name: "index_compliance_check_messages_on_compliance_check_resource_id", using: :btree
+ add_index "compliance_check_messages", ["compliance_check_set_id"], name: "index_compliance_check_messages_on_compliance_check_set_id", using: :btree
create_table "compliance_check_resources", id: :bigserial, force: :cascade do |t|
t.string "status"
@@ -400,9 +402,9 @@ ActiveRecord::Schema.define(version: 20170928144740) do
t.string "type"
t.integer "parent_id", limit: 8
t.string "parent_type"
- t.datetime "notified_parent_at"
t.integer "current_step", default: 0
t.integer "total_steps", default: 0
+ t.datetime "notified_parent_at"
t.string "creator"
end
@@ -986,6 +988,7 @@ ActiveRecord::Schema.define(version: 20170928144740) do
add_foreign_key "api_keys", "organisations"
add_foreign_key "compliance_check_blocks", "compliance_check_sets"
add_foreign_key "compliance_check_messages", "compliance_check_resources"
+ add_foreign_key "compliance_check_messages", "compliance_check_sets"
add_foreign_key "compliance_check_messages", "compliance_checks"
add_foreign_key "compliance_check_resources", "compliance_check_sets"
add_foreign_key "compliance_check_sets", "compliance_control_sets"
diff --git a/spec/factories/compliance_check_messages.rb b/spec/factories/compliance_check_messages.rb
index a0d45eb50..e015fb121 100644
--- a/spec/factories/compliance_check_messages.rb
+++ b/spec/factories/compliance_check_messages.rb
@@ -2,6 +2,7 @@ FactoryGirl.define do
factory :compliance_check_message do
association :compliance_check
association :compliance_check_resource
+ association :compliance_check_set
status 'OK'
message_key "message_key"
end
diff --git a/spec/models/compliance_check_message_spec.rb b/spec/models/compliance_check_message_spec.rb
index 8b424595e..7c8f05953 100644
--- a/spec/models/compliance_check_message_spec.rb
+++ b/spec/models/compliance_check_message_spec.rb
@@ -7,4 +7,5 @@ RSpec.describe ComplianceCheckMessage, type: :model do
it { should belong_to :compliance_check }
it { should belong_to :compliance_check_resource }
+ it { should belong_to :compliance_check_set }
end