# frozen_string_literal: true RSpec.describe UserExport do fab!(:user) describe ".remove_old_exports" do it "should remove the right records" do csv_file_1 = Fabricate(:upload, created_at: 3.days.ago) topic_1 = Fabricate(:topic, created_at: 3.days.ago) post_1 = Fabricate(:post, topic: topic_1) export = UserExport.create!( file_name: "test", user: user, upload_id: csv_file_1.id, topic_id: topic_1.id, created_at: 3.days.ago, ) csv_file_2 = Fabricate(:upload, created_at: 1.day.ago) topic_2 = Fabricate(:topic, created_at: 1.day.ago) export2 = UserExport.create!( file_name: "test2", user: user, upload_id: csv_file_2.id, topic_id: topic_2.id, created_at: 1.day.ago, ) expect do UserExport.remove_old_exports end.to change { UserExport.count }.by(-1) expect(UserExport.exists?(id: export.id)).to eq(false) expect(Upload.exists?(id: csv_file_1.id)).to eq(false) expect(Topic.with_deleted.exists?(id: topic_1.id)).to eq(false) expect(Post.with_deleted.exists?(id: post_1.id)).to eq(false) expect(UserExport.exists?(id: export2.id)).to eq(true) expect(Upload.exists?(id: csv_file_2.id)).to eq(true) expect(Topic.exists?(id: topic_2.id)).to eq(true) end end end