Я пытаюсь написать тесты rspec для своих настроек, и мне нужно создавать продукты с вариантами. Кажется, я не могу этого сделать, хотя я, кажется, делаю то же самое, что и тесты rspec, которые являются частью ядра spree.
def build_option_type_with_values(name, values)
ot = create(:option_type, :name => name)
values.each do |val|
ot.option_values.create(:name => val.downcase, :presentation => val)
end
ot
end
let(:number_size_option_type) do
size = build_option_type_with_values("number sizes", %w(1 2 3 4))
end
let(:product1) { create(:product, name: 'product1') }
it "should have variants" do
hash = {number_size_option_type.id.to_s => number_size_option_type.option_value_ids}
product1.option_values_hash = hash
product1.save
product1.reload
expect(product1.variants.length).to eq(4)
end
независимо от того, что я делаю, количество вариантов моего продукта всегда равно нулю.