Я изучаю RSpec и вызываю метод внутри модели из файла спецификации, но у метода есть фоновая работа, мои вопросы таковы;Как я могу настроить спецификацию на ожидание ответа от фоновой работы? Возможно ли это?
Спасибо за помощь !!!!
Мой файл Rspec: user_spec.rb
require 'rails_helper'
RSpec.describe User, type: :model do
let(:user) { user.create(name: "Test User Name",last_name: "") }
describe "existing user instance" do
it "fetch last name" do
user.update_last_name!
expect(user.last_name).to eq("Test Last Name")
end
end
end
Файл моей модели: user.rb
class User < ApplicationRecord
def update_last_name!
UpdateLastNameJob.perform_later(self.id,"Test Last Name")
end
end
Моя фоновая работа Работа в reddis: update_last_name_job.rb
class UpdateLastNameJob < ApplicationJob
@queue = :default
def perform(user_id,last_name)
@user = User.find(user_id)
@user.last_name = last_name
@user.save
end
end