我需要对每个活动都有URL的促销模型进行单元测试。促销和reference_link之间存在多态关联。参考链接夹具:
reference_link:
linkable:
fix_1 (PromoCode)如何让rails相信促销fixture确实有一个属于它的URL?
在促销测试助手中:
test "should have a URL associated with the promo code" do
promo_code = promo_codes(:fix_1)
promo_code.reference_link.url = nil
assert_not promo_code.valid?
promo_code2 = promo_codes(:fix_2)
assert promo_code2.valid?
endpromocode.rb
class PromoCode < ActiveRecord::Base
belongs_to :reward
has_one :reference_link, as: :linkable, dependent: :destroy
validates :email, presence: true
validates :code, presence: true
endreference_link.rb
class ReferenceLink < ActiveRecord::Base
belongs_to :linkable, polymorphic: true,touch: true
validates :link_name, presence: true
validates :link_url, presence: true
validates_format_of :link_url, :with => /\A#{URI::regexp(['http', 'https'])}\z/
validates_length_of :link_url,:link_name, :maximum => 255
endhttps://stackoverflow.com/questions/41310184
复制相似问题