rails Taskのテスト

本稿について

本稿はサイト運営者が学んだことなどを記したメモの内容です。
全てが正確な情報とは限りません。ご注意ください。また修正するべき点は適時修正していきます

require 'rails_helper'
require 'rake'


describe '公開予約/非公開予約のTaskのテスト' do
  before(:all) do
    Rails.application.load_tasks
    @rake = Rake::Application.new
    Rake.application = @rake
    Rake.application.rake_require 'tasks/reservation'
    Rake::Task.define_task(:environment)
  end

let!(:data) { create(:data, status: "close") }

describe '公開予約' do
    before do
      # 実行
      @rake['reservation:execute'].execute
      @rake['reservation:execute'].reenable
    end
    
    it “実行された後の結果を確認” do
      data.reload
      is_asserted_by { data.active? }
    end
  end


### 同じtaskを再度実行するにはrennabledをしないといけない
よくわからん仕様

@rake['reservation:execute'].execute
@rake['reservation:execute'].reenable

[参考]
Back