Я пытаюсь написать тест, в котором мне нужно значение, созданное ожидаемым блоком для записи утверждения.
class Identification < ApplicationRecord
include Wisper::Publisher
after_save :publish_identification_declined
private
def publish_identification_declined
if status_previously_changed? && status == "declined"
broadcast(:identification_declined, identification: self)
end
end
end
Я пытался сделать что-то вроде этого, но, к сожалению, identification_a
не закончился
require "rails_helper"
RSpec.describe Identification do
it "publish event identification_declined" do
identification_a = nil
expect { identification_a = create(:identification, :declined, id: 1) }
.to broadcast(:identification_declined, identification: identification_a)
end
end
У меня также есть ощущение, что это может быть не очень хорошая идея.
Альтернативой может быть использование instance_of
сопоставителя, но тогда я не знаю, как чтобы проверить, правильный ли это экземпляр.