14873: Fixes unit tests.
[arvados.git] / services / api / app / models / collection.rb
index 136e0ed264aa9d3457edbd200e9dbdd02a29263b..cb23df1c219ef4404a2023e824303bf54d7922ff 100644 (file)
@@ -14,10 +14,10 @@ class Collection < ArvadosModel
   include CommonApiTemplate
   include Trashable
 
-  serialize :properties, Hash
-  serialize :storage_classes_desired, Array
-  serialize :storage_classes_confirmed, Array
+  # Posgresql JSONB columns should NOT be declared as serialized, Rails 5
+  # already know how to properly treat them.
 
+  before_validation :fill_field_defaults
   before_validation :default_empty_manifest
   before_validation :default_storage_classes, on: :create
   before_validation :check_encoding
@@ -653,4 +653,10 @@ class Collection < ArvadosModel
     self.current_version_uuid ||= self.uuid
     true
   end
+
+  def fill_field_defaults
+    self.properties ||= {}
+    self.storage_classes_desired ||= []
+    self.storage_classes_confirmed ||= []
+  end
 end