diff --git a/engines/dfc_provider/app/services/supplied_product_builder.rb b/engines/dfc_provider/app/services/supplied_product_builder.rb index db5195d53f..d722179d22 100644 --- a/engines/dfc_provider/app/services/supplied_product_builder.rb +++ b/engines/dfc_provider/app/services/supplied_product_builder.rb @@ -38,6 +38,9 @@ class SuppliedProductBuilder < DfcBuilder product.supplier = supplier product.ensure_standard_variant product.variants.first + end.tap do |variant| + link = supplied_product.semanticId + variant.semantic_links.new(semantic_id: link) if link.present? end end diff --git a/engines/dfc_provider/spec/services/supplied_product_builder_spec.rb b/engines/dfc_provider/spec/services/supplied_product_builder_spec.rb index 97c2236209..ccc618998f 100644 --- a/engines/dfc_provider/spec/services/supplied_product_builder_spec.rb +++ b/engines/dfc_provider/spec/services/supplied_product_builder_spec.rb @@ -163,6 +163,10 @@ describe SuppliedProductBuilder do it "creates a new Spree::Product and variant" do expect(imported_variant).to be_a(Spree::Variant) expect(imported_variant.id).to be_nil + expect(imported_variant.semantic_links.size).to eq 1 + + link = imported_variant.semantic_links[0] + expect(link.semantic_id).to eq "https://example.net/tomato" imported_product = imported_variant.product expect(imported_product).to be_a(Spree::Product)