nas/spec/lib/vacuum/list_statuses_vacuum_spec.rb
KMY(雪あすか) f8280ca5d9
Add: #95 リストへの新着投稿通知 (#192)
* Add: テーブル定義、内部処理

* Add: 通知の定期削除処理、自動削除、テスト

* Add: Web画面の表示、設定

* Fix test
2023-10-31 08:59:31 +09:00

30 lines
958 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Vacuum::ListStatusesVacuum do
subject { described_class.new }
describe '#perform' do
let!(:local_status_old) { Fabricate(:status, created_at: 2.days.ago) }
let!(:local_status_recent) { Fabricate(:status, created_at: 5.hours.ago) }
let!(:list_status_old) { Fabricate(:list_status, status: local_status_old, created_at: local_status_old.created_at) }
let!(:list_status_recent) { Fabricate(:list_status, status: local_status_recent, created_at: local_status_recent.created_at) }
before do
subject.perform
end
it 'deletes old list status' do
expect { list_status_old.reload }.to raise_error ActiveRecord::RecordNotFound
end
it 'does not delete recent status' do
expect { list_status_recent.reload }.to_not raise_error
end
it 'statuses are remain' do
expect { local_status_old }.to_not raise_error
end
end
end