aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/compliance_check_block.rb3
-rw-r--r--config/initializers/apartment.rb4
-rw-r--r--db/migrate/20170905135646_create_compliance_check_blocks.rb11
-rw-r--r--db/schema.rb13
-rw-r--r--spec/factories/compliance_check_blocks.rb6
-rw-r--r--spec/factories/compliance_check_sets.rb6
-rw-r--r--spec/factories/compliance_control_blocks.rb2
-rw-r--r--spec/factories/compliance_control_sets.rb2
-rw-r--r--spec/factories/compliance_controls.rb4
-rw-r--r--spec/models/compliance_check_block_spec.rb9
10 files changed, 51 insertions, 9 deletions
diff --git a/app/models/compliance_check_block.rb b/app/models/compliance_check_block.rb
new file mode 100644
index 000000000..035c03ed9
--- /dev/null
+++ b/app/models/compliance_check_block.rb
@@ -0,0 +1,3 @@
+class ComplianceCheckBlock < ActiveRecord::Base
+ belongs_to :compliance_check_set
+end
diff --git a/config/initializers/apartment.rb b/config/initializers/apartment.rb
index 8c8799b24..00ec593de 100644
--- a/config/initializers/apartment.rb
+++ b/config/initializers/apartment.rb
@@ -49,7 +49,9 @@ Apartment.configure do |config|
'ImportResource',
'ComplianceControl',
'ComplianceControlSet',
- 'ComplianceControlBlock'
+ 'ComplianceControlBlock',
+ 'ComplianceCheckSet',
+ 'ComplianceCheckBlock'
]
# use postgres schemas?
diff --git a/db/migrate/20170905135646_create_compliance_check_blocks.rb b/db/migrate/20170905135646_create_compliance_check_blocks.rb
new file mode 100644
index 000000000..c461e656b
--- /dev/null
+++ b/db/migrate/20170905135646_create_compliance_check_blocks.rb
@@ -0,0 +1,11 @@
+class CreateComplianceCheckBlocks < ActiveRecord::Migration
+ def change
+ create_table :compliance_check_blocks do |t|
+ t.string :name
+ t.hstore :condition_attributes
+ t.references :compliance_check_set, index: true, foreign_key: true
+
+ t.timestamps null: false
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index dad05b449..29887979f 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: 20170905130413) do
+ActiveRecord::Schema.define(version: 20170905135646) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -145,6 +145,16 @@ ActiveRecord::Schema.define(version: 20170905130413) do
add_index "companies", ["objectid"], name: "companies_objectid_key", unique: true, using: :btree
add_index "companies", ["registration_number"], name: "companies_registration_number_key", using: :btree
+ create_table "compliance_check_blocks", id: :bigserial, force: :cascade do |t|
+ t.string "name"
+ t.hstore "condition_attributes"
+ t.integer "compliance_check_set_id"
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ end
+
+ add_index "compliance_check_blocks", ["compliance_check_set_id"], name: "index_compliance_check_blocks_on_compliance_check_set_id", using: :btree
+
create_table "compliance_check_sets", id: :bigserial, force: :cascade do |t|
t.integer "referential_id"
t.integer "compliance_control_set_id"
@@ -910,6 +920,7 @@ ActiveRecord::Schema.define(version: 20170905130413) do
add_foreign_key "access_links", "access_points", name: "aclk_acpt_fkey"
add_foreign_key "api_keys", "organisations"
+ add_foreign_key "compliance_check_blocks", "compliance_check_sets"
add_foreign_key "compliance_check_sets", "compliance_control_sets"
add_foreign_key "compliance_check_sets", "referentials"
add_foreign_key "compliance_check_sets", "workbenches"
diff --git a/spec/factories/compliance_check_blocks.rb b/spec/factories/compliance_check_blocks.rb
new file mode 100644
index 000000000..0bd23c0d6
--- /dev/null
+++ b/spec/factories/compliance_check_blocks.rb
@@ -0,0 +1,6 @@
+FactoryGirl.define do
+ factory :compliance_check_block do
+ sequence(:name) { |n| "Compliance check block #{n}" }
+ association :compliance_check_set
+ end
+end
diff --git a/spec/factories/compliance_check_sets.rb b/spec/factories/compliance_check_sets.rb
index d16f19845..9fd6ef4e0 100644
--- a/spec/factories/compliance_check_sets.rb
+++ b/spec/factories/compliance_check_sets.rb
@@ -1,8 +1,8 @@
FactoryGirl.define do
factory :compliance_check_set do
status :new
- referential
- compliance_control_set
- workbench
+ association :referential
+ association :compliance_control_set
+ association :workbench
end
end
diff --git a/spec/factories/compliance_control_blocks.rb b/spec/factories/compliance_control_blocks.rb
index ca2abef12..5bc45cc75 100644
--- a/spec/factories/compliance_control_blocks.rb
+++ b/spec/factories/compliance_control_blocks.rb
@@ -1,6 +1,6 @@
FactoryGirl.define do
factory :compliance_control_block do
sequence(:name) { |n| "Compliance control block #{n}" }
- compliance_control_set
+ association :compliance_control_set
end
end
diff --git a/spec/factories/compliance_control_sets.rb b/spec/factories/compliance_control_sets.rb
index f322816ed..5e4acf3c4 100644
--- a/spec/factories/compliance_control_sets.rb
+++ b/spec/factories/compliance_control_sets.rb
@@ -1,6 +1,6 @@
FactoryGirl.define do
factory :compliance_control_set do
sequence(:name) { |n| "Compliance control set #{n}" }
- organisation
+ association :organisation
end
end
diff --git a/spec/factories/compliance_controls.rb b/spec/factories/compliance_controls.rb
index 865bfe376..28b760383 100644
--- a/spec/factories/compliance_controls.rb
+++ b/spec/factories/compliance_controls.rb
@@ -5,7 +5,7 @@ FactoryGirl.define do
criticity :info
code "code"
comment "Text"
- compliance_control_set
- compliance_control_block
+ association :compliance_control_set
+ association :compliance_control_block
end
end
diff --git a/spec/models/compliance_check_block_spec.rb b/spec/models/compliance_check_block_spec.rb
new file mode 100644
index 000000000..f581d5085
--- /dev/null
+++ b/spec/models/compliance_check_block_spec.rb
@@ -0,0 +1,9 @@
+require 'rails_helper'
+
+RSpec.describe ComplianceCheckBlock, type: :model do
+ it 'should have a valid factory' do
+ expect(FactoryGirl.build(:compliance_check_block)).to be_valid
+ end
+
+ it { should belong_to :compliance_check_set }
+end