DO NOT MERGE: 5024 referential create schema in a separate transaction
Created by: teddywing
Créer le schema d'un Referential dans une transaction séparée de celle de la création du Referential. Ceci a pour but de réduire le temps de la création d'un Referential pour éviter un problème de Referentials double quand deux Referentials sont créés en même temps.
Je n'ai pas réussi à reproduire le bug ni en testant à la main ni avec ce test (qui n'est probablement pas correcte) :
diff --git a/spec/models/referential_spec.rb b/spec/models/referential_spec.rb
index 22eb7c70..3a8c561d 100644
--- a/spec/models/referential_spec.rb
+++ b/spec/models/referential_spec.rb
@@ -120,4 +120,23 @@ describe Referential, :type => :model do
end
end
end
+
+ context "when two identical Referentials are created at the same time" do
+ # TODO: Rename js: true to no transaction something
+ it "only creates one Referential", js: true do
+ referential_1 = build(:referential)
+ referential_2 = referential_1.dup
+
+ ActiveRecord::Base.transaction do
+ referential_1.save
+ end
+
+ ActiveRecord::Base.transaction do
+ referential_2.save
+ end
+
+ expect(referential_1).to be_persisted
+ expect(referential_2).not_to be_persisted
+ end
+ end
end